mirror of
https://github.com/ckaczor/WixBalExtensionExt.git
synced 2026-01-14 01:25:43 -05:00
Initial commit
This commit is contained in:
82
BalExtensionExt.sln
Normal file
82
BalExtensionExt.sln
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 2012
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wixextba", "wixstdba\wixstdba.vcxproj", "{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}"
|
||||||
|
EndProject
|
||||||
|
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "BalExtension", "wixlib\BalExtension.wixproj", "{3444D952-F21C-496F-AB6B-56435BFD0787}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBalExtensionExt", "wixext\WixBalExtensionExt.csproj", "{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787} = {3444D952-F21C-496F-AB6B-56435BFD0787}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bafunctions", "bafunctions\bafunctions.vcxproj", "{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|Mixed Platforms = Debug|Mixed Platforms
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|Mixed Platforms = Release|Mixed Platforms
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Any CPU.Build.0 = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Any CPU.ActiveCfg = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Win32.Build.0 = Debug|Win32
|
||||||
|
{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|x86.ActiveCfg = Debug|Win32
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Win32.ActiveCfg = Debug|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Any CPU.ActiveCfg = Release|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Win32.ActiveCfg = Release|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{3444D952-F21C-496F-AB6B-56435BFD0787}.Release|x86.Build.0 = Release|x86
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
63
Examples/Build.bat
Normal file
63
Examples/Build.bat
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
path=%wix%\bin;%path%
|
||||||
|
|
||||||
|
rd obj /q/s 2>nul 1>nul
|
||||||
|
md obj 1>nul 2>nul
|
||||||
|
|
||||||
|
echo Building examples...
|
||||||
|
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle1 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle2 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle3 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle4 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle5 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle6 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle7 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle8 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle9 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle11 exe
|
||||||
|
Call :build Setup msi
|
||||||
|
Call :build Bundle10 exe
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo Build complete
|
||||||
|
echo.
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
REM *****************************************************************
|
||||||
|
REM End of Main
|
||||||
|
REM *****************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
REM *****************************************************************
|
||||||
|
REM Build WiX code
|
||||||
|
REM *****************************************************************
|
||||||
|
:build
|
||||||
|
candle -nologo -ext WixUtilExtension -ext WixNetFxExtension -ext ..\build\WixBalExtensionExt.dll -out obj\ %1.wxs
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Candle error: %errorlevel%
|
||||||
|
pause
|
||||||
|
goto :EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
light -nologo -spdb -ext WixUtilExtension -ext WixNetFxExtension -ext ..\build\WixBalExtensionExt.dll obj\%1.wixobj -o %1.%2
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Light error: %errorlevel%
|
||||||
|
pause
|
||||||
|
goto :EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
rd obj /q/s 2>nul 1>nul
|
||||||
|
goto :EOF
|
||||||
|
REM *****************************************************************
|
||||||
35
Examples/Bundle1.wxs
Normal file
35
Examples/Bundle1.wxs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the HyperlinkLicense UI built in to WixBalExtensionExt.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<Update Location='http://wixtoolset.org/releases/feed/v3.7' />
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<Payload SourceFile="Resource\License.htm" Compressed="yes" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="License.htm" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
<Variable Name="InstallFolder2" Type="string" Value="[WindowsVolume]Database" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
46
Examples/Bundle10.wxs
Normal file
46
Examples/Bundle10.wxs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the Hyperlink2License UI built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows how to use the custom action extension.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<!-- Note: the name attibute must be "bafunctions.dll" but the source can be anything -->
|
||||||
|
<Payload Name="bafunctions.dll" Compressed="yes" SourceFile="bafunctions.dll" />
|
||||||
|
<Payload SourceFile="Resource\LogoSide.png" />
|
||||||
|
<Payload SourceFile="Resource\Logo.png" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="" />
|
||||||
|
<WixVariable Id="WixExtbaThemeXml" Value="Resource\Bundle3Theme.xml" />
|
||||||
|
<WixVariable Id="WixExtbaThemeWxl" Value="Resource\HyperlinkTheme.wxl" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
<Variable Name="InstallFolder2" Type="string" Value="[WindowsVolume]Database" />
|
||||||
|
|
||||||
|
<Variable Name="RadioButton1" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton2" Type="numeric" Value="1" />
|
||||||
|
<Variable Name="RadioButton3" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton4" Type="numeric" Value="0" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
<MsiProperty Name="RadioButton" Value="[RadioButton]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
53
Examples/Bundle11.wxs
Normal file
53
Examples/Bundle11.wxs
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the Hyperlink2License UI built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows how to use the custom action extension.
|
||||||
|
Delayed OnDetect() to show splash screen.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
SplashScreenSourceFile="Resource\SplashScreen.bmp"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<!-- This will delay the start by the time specified (in milloseconds) -->
|
||||||
|
<Variable Name="DelayStart" Type="numeric" Value="1000" />
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<!-- Note: the name attibute must be "bafunctions.dll" but the source can be anything -->
|
||||||
|
<Payload Name="bafunctions.dll" Compressed="yes" SourceFile="bafunctions.dll" />
|
||||||
|
<Payload SourceFile="Resource\LogoSide.png" />
|
||||||
|
<Payload SourceFile="Resource\Logo.png" />
|
||||||
|
<Payload Name="1031\thm.wxl" Compressed="yes" SourceFile="Resource\1031\HyperlinkTheme.wxl" />
|
||||||
|
<Payload Name="2057\thm.wxl" Compressed="yes" SourceFile="Resource\2057\HyperlinkTheme.wxl" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="" />
|
||||||
|
<WixVariable Id="WixExtbaThemeXml" Value="Resource\Bundle3Theme.xml" />
|
||||||
|
<WixVariable Id="WixExtbaThemeWxl" Value="Resource\HyperlinkLocaleTheme.wxl" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
<Variable Name="InstallFolder2" Type="string" Value="[WindowsVolume]Database" />
|
||||||
|
|
||||||
|
<Variable Name="RadioButton1" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton2" Type="numeric" Value="1" />
|
||||||
|
<Variable Name="RadioButton3" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton4" Type="numeric" Value="0" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
<MsiProperty Name="RadioButton" Value="[RadioButton]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
53
Examples/Bundle2.wxs
Normal file
53
Examples/Bundle2.wxs
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the use of an external theme file to create the same UI as
|
||||||
|
Hyperlink2License built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows the use of two folder selections and radio buttons on the options page.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<Update Location="http://wixtoolset.org/releases/feed/v3.7"/>
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<Payload SourceFile="Resource\License.htm" />
|
||||||
|
<Payload SourceFile="Resource\LogoSide.png" />
|
||||||
|
<Payload SourceFile="Resource\Logo.png" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="License.htm" />
|
||||||
|
<WixVariable Id="WixExtbaThemeXml" Value="Resource\Bundle2Theme.xml" />
|
||||||
|
<WixVariable Id="WixExtbaThemeWxl" Value="Resource\HyperlinkTheme.wxl" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
<Variable Name="InstallFolder2" Type="string" Value="[WindowsVolume]Database" />
|
||||||
|
|
||||||
|
<Variable Name="RadioButton1" Type="numeric" Value="1" />
|
||||||
|
<Variable Name="RadioButton2" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton3" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton4" Type="numeric" Value="0" />
|
||||||
|
|
||||||
|
<Variable Name="FolderEditbox2State" Type="string" Value="disable" />
|
||||||
|
<Variable Name="BrowseButton2State" Type="string" Value="disable" />
|
||||||
|
|
||||||
|
<!-- Disable Option 4 -->
|
||||||
|
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\**NoValue**" Value="**NoValue**" Variable="RadioButton4" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
48
Examples/Bundle3.wxs
Normal file
48
Examples/Bundle3.wxs
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the use of an external theme file to create the same UI as
|
||||||
|
Hyperlink2License built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows the use of radio buttons install page and a textbox on the options page.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<Payload SourceFile="Resource\License.htm" />
|
||||||
|
<Payload SourceFile="Resource\LogoSide.png" />
|
||||||
|
<Payload SourceFile="Resource\Logo.png" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="License.htm" />
|
||||||
|
<WixVariable Id="WixExtbaThemeXml" Value="Resource\Bundle3Theme.xml" />
|
||||||
|
<WixVariable Id="WixExtbaThemeWxl" Value="Resource\HyperlinkTheme.wxl" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
<Variable Name="InstallFolder2" Type="string" Value="[WindowsVolume]Database" />
|
||||||
|
|
||||||
|
<Variable Name="RadioButton1" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton2" Type="numeric" Value="1" />
|
||||||
|
<Variable Name="RadioButton3" Type="numeric" Value="0" />
|
||||||
|
<Variable Name="RadioButton4" Type="numeric" Value="0" />
|
||||||
|
|
||||||
|
<Variable Name="Username" Type="string" Value="Value of Username variable" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
<MsiProperty Name="USERNAME" Value="[Username]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
42
Examples/Bundle4.wxs
Normal file
42
Examples/Bundle4.wxs
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the use of an external theme file to create the same UI as
|
||||||
|
Hyperlink2License built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows the use of checkboxes on the install and option pages.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<Payload SourceFile="Resource\LogoSide.png" />
|
||||||
|
<Payload SourceFile="Resource\Logo.png" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="" />
|
||||||
|
<WixVariable Id="WixExtbaThemeXml" Value="Resource\Bundle4Theme.xml" />
|
||||||
|
<WixVariable Id="WixExtbaThemeWxl" Value="Resource\HyperlinkTheme.wxl" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
<Variable Name="InstallFolder2" Type="string" Value="[WindowsVolume]Database" />
|
||||||
|
|
||||||
|
<Variable Name="Checkbox2" Type="numeric" Value="1" />
|
||||||
|
<Variable Name="Checkbox3" Type="numeric" Value="1" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
33
Examples/Bundle5.wxs
Normal file
33
Examples/Bundle5.wxs
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the RtfLicense UI built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows how to replace the standard logo with your own.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.RtfLicense" />
|
||||||
|
<WixVariable Id="WixExtbaLicenseRtf" Value="Resource\License.rtf" />
|
||||||
|
<WixVariable Id="WixExtbaLogo" Value="Resource\Logo.png" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
32
Examples/Bundle6.wxs
Normal file
32
Examples/Bundle6.wxs
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the Hyperlink2License UI built in to WixBalExtensionExt.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.Hyperlink2License">
|
||||||
|
<Payload SourceFile="Resource\License.htm" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="License.htm" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
33
Examples/Bundle7.wxs
Normal file
33
Examples/Bundle7.wxs
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the HyperlinkLicense UI built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows how to disable the options page and license link.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<bal:WixExtendedBootstrapperApplication SuppressOptionsUI="yes" LicenseUrl="" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
35
Examples/Bundle8.wxs
Normal file
35
Examples/Bundle8.wxs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the HyperlinkLicense UI built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows how to override the default logo.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<Payload SourceFile="Resource\License.htm" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
<WixVariable Id="WixExtbaLicenseUrl" Value="License.htm" />
|
||||||
|
<WixVariable Id="WixExtbaLogo" Value="Resource\Logo.png" />
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
35
Examples/Bundle9.wxs
Normal file
35
Examples/Bundle9.wxs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
This example demonstrates the HyperlinkLicense UI built in to WixBalExtensionExt.
|
||||||
|
|
||||||
|
It also shows how to use the custom action extension.
|
||||||
|
-->
|
||||||
|
<Wix RequiredVersion="3.7.1224.0"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||||
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Bundle Name="Sample Burn Installation" Version="$(bal.Version(1.0))" UpgradeCode="2C81F0BB-1891-4E83-B71A-5160BA33D985"
|
||||||
|
Manufacturer="ACME"
|
||||||
|
AboutUrl="http://wixtoolset.org">
|
||||||
|
|
||||||
|
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
|
||||||
|
<bal:WixExtendedBootstrapperApplication LicenseUrl="" />
|
||||||
|
<!-- Note: the name attibute must be "bafunctions.dll" but the source can be anything -->
|
||||||
|
<Payload Name="bafunctions.dll" Compressed="yes" SourceFile="bafunctions.dll" />
|
||||||
|
</BootstrapperApplicationRef>
|
||||||
|
|
||||||
|
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]ACME" />
|
||||||
|
|
||||||
|
<Chain DisableSystemRestore="yes">
|
||||||
|
<PackageGroupRef Id="NetFx40Redist" />
|
||||||
|
<MsiPackage
|
||||||
|
Id="Setup"
|
||||||
|
Compressed="yes"
|
||||||
|
SourceFile="Setup.msi"
|
||||||
|
Vital="yes">
|
||||||
|
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
|
||||||
|
</MsiPackage>
|
||||||
|
</Chain>
|
||||||
|
|
||||||
|
</Bundle>
|
||||||
|
</Wix>
|
||||||
49
Examples/Resource/1031/HyperlinkTheme.wxl
Normal file
49
Examples/Resource/1031/HyperlinkTheme.wxl
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="de-de" Language="1031" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="Caption">[WixBundleName] Setup</String>
|
||||||
|
<String Id="Title">[WixBundleName]</String>
|
||||||
|
<String Id="InstallHeader">Welcome (de-de [UserLanguageID])</String>
|
||||||
|
<String Id="InstallMessage">Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit.</String>
|
||||||
|
<String Id="InstallVersion">Version [WixBundleVersion]</String>
|
||||||
|
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
|
||||||
|
<String Id="HelpHeader">Setup Help</String>
|
||||||
|
<String Id="HelpText">/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or creates a complete local copy of the bundle in directory. Install is the default.
|
||||||
|
|
||||||
|
/passive | /quiet - displays minimal UI with no prompts or displays no UI and no prompts. By default UI and all prompts are displayed.
|
||||||
|
|
||||||
|
/norestart - suppress any attempts to restart. By default UI will prompt before restart.
|
||||||
|
|
||||||
|
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.</String>
|
||||||
|
<String Id="HelpCloseButton">&Close</String>
|
||||||
|
<String Id="InstallLicenseLinkText">[WixBundleName] <a href="#">license terms</a>.</String>
|
||||||
|
<String Id="InstallAcceptCheckbox">I &agree to the license terms and conditions</String>
|
||||||
|
<String Id="InstallOptionsButton">&Options</String>
|
||||||
|
<String Id="InstallInstallButton">&Install</String>
|
||||||
|
<String Id="InstallCloseButton">&Close</String>
|
||||||
|
<String Id="InstallUpgradeLinkText">Version [WixBundleVersion] <a href="#">upgrade available</a></String>
|
||||||
|
<String Id="OptionsHeader">Setup Options</String>
|
||||||
|
<String Id="OptionsLocationLabel">Install location:</String>
|
||||||
|
<String Id="OptionsBrowseButton">&Browse...</String>
|
||||||
|
<String Id="OptionsLocationLabel2">Database location:</String>
|
||||||
|
<String Id="OptionsBrowseButton2">B&rowse...</String>
|
||||||
|
<String Id="OptionsOkButton">&OK</String>
|
||||||
|
<String Id="OptionsCancelButton">&Cancel</String>
|
||||||
|
<String Id="ProgressHeader">Setup Progress</String>
|
||||||
|
<String Id="ProgressLabel">Processing:</String>
|
||||||
|
<String Id="OverallProgressPackageText">Initializing...</String>
|
||||||
|
<String Id="ProgressCancelButton">&Cancel</String>
|
||||||
|
<String Id="ModifyHeader">Modify Setup</String>
|
||||||
|
<String Id="ModifyRepairButton">&Repair</String>
|
||||||
|
<String Id="ModifyUninstallButton">&Uninstall</String>
|
||||||
|
<String Id="ModifyCloseButton">&Close</String>
|
||||||
|
<String Id="SuccessHeader">Setup Successful</String>
|
||||||
|
<String Id="SuccessLaunchButton">&Launch</String>
|
||||||
|
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
|
||||||
|
<String Id="SuccessRestartButton">&Restart</String>
|
||||||
|
<String Id="SuccessCloseButton">&Close</String>
|
||||||
|
<String Id="FailureHeader">Setup Failed</String>
|
||||||
|
<String Id="FailureHyperlinkLogText">One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>.</String>
|
||||||
|
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
|
||||||
|
<String Id="FailureRestartButton">&Restart</String>
|
||||||
|
<String Id="FailureCloseButton">&Close</String>
|
||||||
|
</WixLocalization>
|
||||||
49
Examples/Resource/2057/HyperlinkTheme.wxl
Normal file
49
Examples/Resource/2057/HyperlinkTheme.wxl
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="en-GB" Language="2057" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="Caption">[WixBundleName] Setup</String>
|
||||||
|
<String Id="Title">[WixBundleName]</String>
|
||||||
|
<String Id="InstallHeader">Welcome (en-GB [UserLanguageID])</String>
|
||||||
|
<String Id="InstallMessage">Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit.</String>
|
||||||
|
<String Id="InstallVersion">Version [WixBundleVersion]</String>
|
||||||
|
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
|
||||||
|
<String Id="HelpHeader">Setup Help</String>
|
||||||
|
<String Id="HelpText">/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or creates a complete local copy of the bundle in directory. Install is the default.
|
||||||
|
|
||||||
|
/passive | /quiet - displays minimal UI with no prompts or displays no UI and no prompts. By default UI and all prompts are displayed.
|
||||||
|
|
||||||
|
/norestart - suppress any attempts to restart. By default UI will prompt before restart.
|
||||||
|
|
||||||
|
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.</String>
|
||||||
|
<String Id="HelpCloseButton">&Close</String>
|
||||||
|
<String Id="InstallLicenseLinkText">[WixBundleName] <a href="#">license terms</a>.</String>
|
||||||
|
<String Id="InstallAcceptCheckbox">I &agree to the license terms and conditions</String>
|
||||||
|
<String Id="InstallOptionsButton">&Options</String>
|
||||||
|
<String Id="InstallInstallButton">&Install</String>
|
||||||
|
<String Id="InstallCloseButton">&Close</String>
|
||||||
|
<String Id="InstallUpgradeLinkText">Version [WixBundleVersion] <a href="#">upgrade available</a></String>
|
||||||
|
<String Id="OptionsHeader">Setup Options</String>
|
||||||
|
<String Id="OptionsLocationLabel">Install location:</String>
|
||||||
|
<String Id="OptionsBrowseButton">&Browse...</String>
|
||||||
|
<String Id="OptionsLocationLabel2">Database location:</String>
|
||||||
|
<String Id="OptionsBrowseButton2">B&rowse...</String>
|
||||||
|
<String Id="OptionsOkButton">&OK</String>
|
||||||
|
<String Id="OptionsCancelButton">&Cancel</String>
|
||||||
|
<String Id="ProgressHeader">Setup Progress</String>
|
||||||
|
<String Id="ProgressLabel">Processing:</String>
|
||||||
|
<String Id="OverallProgressPackageText">Initializing...</String>
|
||||||
|
<String Id="ProgressCancelButton">&Cancel</String>
|
||||||
|
<String Id="ModifyHeader">Modify Setup</String>
|
||||||
|
<String Id="ModifyRepairButton">&Repair</String>
|
||||||
|
<String Id="ModifyUninstallButton">&Uninstall</String>
|
||||||
|
<String Id="ModifyCloseButton">&Close</String>
|
||||||
|
<String Id="SuccessHeader">Setup Successful</String>
|
||||||
|
<String Id="SuccessLaunchButton">&Launch</String>
|
||||||
|
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
|
||||||
|
<String Id="SuccessRestartButton">&Restart</String>
|
||||||
|
<String Id="SuccessCloseButton">&Close</String>
|
||||||
|
<String Id="FailureHeader">Setup Failed</String>
|
||||||
|
<String Id="FailureHyperlinkLogText">One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>.</String>
|
||||||
|
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
|
||||||
|
<String Id="FailureRestartButton">&Restart</String>
|
||||||
|
<String Id="FailureCloseButton">&Close</String>
|
||||||
|
</WixLocalization>
|
||||||
89
Examples/Resource/Bundle2Theme.xml
Normal file
89
Examples/Resource/Bundle2Theme.xml
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
|
||||||
|
<Window Width="600" Height="450" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
|
||||||
|
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
|
||||||
|
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
|
||||||
|
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
|
||||||
|
|
||||||
|
<!-- Upgrade shown on install and modify pages so reference globally -->
|
||||||
|
<Hypertext Name="UpgradeHyperlink" X="185" Y="-81" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallUpgradeLinkText)</Hypertext>
|
||||||
|
|
||||||
|
<Page Name="Help">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
|
||||||
|
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Install">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.InstallHeader)</Text>
|
||||||
|
<Text X="185" Y="91" Width="-11" Height="64" FontId="3" DisablePrefix="yes">#(loc.InstallMessage)</Text><!-- HexStyle="0x800000" -->
|
||||||
|
<Hypertext Name="EulaHyperlink" X="185" Y="-111" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
|
||||||
|
<Text X="185" Y="-81" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.InstallVersion)</Text>
|
||||||
|
<!--<Hypertext Name="UpgradeHyperlink" X="185" Y="-81" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallUpgradeLinkText)</Hypertext>-->
|
||||||
|
<Checkbox Name="EulaAcceptCheckbox" X="185" Y="-51" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
|
||||||
|
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
|
||||||
|
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
|
||||||
|
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Options">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel)</Text>
|
||||||
|
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
|
||||||
|
<Text X="11" Y="171" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel2)</Text>
|
||||||
|
<Editbox Name="FolderEditbox2" X="11" Y="193" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton2" X="-11" Y="192" Width="75" Height="23" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.OptionsBrowseButton2)</Button>
|
||||||
|
|
||||||
|
<Text X="11" Y="221" Width="-11" Height="17" FontId="3">Select option</Text>
|
||||||
|
<Button Name="RadioButton1" X="11" Y="241" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 1</Button>
|
||||||
|
<Button Name="RadioButton2" X="11" Y="261" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 2</Button>
|
||||||
|
<Button Name="RadioButton3" X="11" Y="281" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 3</Button>
|
||||||
|
<Button Name="RadioButton4" X="11" Y="301" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 3</Button>
|
||||||
|
|
||||||
|
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
|
||||||
|
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Progress">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
|
||||||
|
<Text X="11" Y="141" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
|
||||||
|
<Text Name="OverallProgressPackageText" X="85" Y="141" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
|
||||||
|
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="163" Width="-11" Height="20" />
|
||||||
|
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Modify">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
|
||||||
|
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
|
||||||
|
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
|
||||||
|
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Success">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
|
||||||
|
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
|
||||||
|
<Text Name="SuccessRestartText" X="185" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
|
||||||
|
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
|
||||||
|
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Failure">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FailureHeader)</Text>
|
||||||
|
<Hypertext Name="FailureLogFileLink" X="185" Y="121" Width="-11" Height="68" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
|
||||||
|
<Hypertext Name="FailureMessageText" X="185" Y="-115" Width="-11" Height="80" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
|
||||||
|
<Text Name="FailureRestartText" X="185" Y="-57" Width="-11" Height="80" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
|
||||||
|
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
|
||||||
|
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
</Theme>
|
||||||
87
Examples/Resource/Bundle3Theme.xml
Normal file
87
Examples/Resource/Bundle3Theme.xml
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
|
||||||
|
<Window Width="600" Height="450" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
|
||||||
|
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
|
||||||
|
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
|
||||||
|
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
|
||||||
|
|
||||||
|
<Page Name="Help">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
|
||||||
|
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Install">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.InstallHeader)</Text>
|
||||||
|
<Text X="185" Y="91" Width="-11" Height="64" FontId="3" DisablePrefix="yes">#(loc.InstallMessage)</Text><!-- HexStyle="0x800000" -->
|
||||||
|
|
||||||
|
<Text X="185" Y="171" Width="-11" Height="17" FontId="3">Select option</Text>
|
||||||
|
<!-- BS_AUTORADIOBUTTON - HexStyle="0x000009" -->
|
||||||
|
<Button Name="RadioButton1" X="205" Y="191" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 1</Button>
|
||||||
|
<Button Name="RadioButton2" X="205" Y="211" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 2</Button>
|
||||||
|
<Button Name="RadioButton3" X="205" Y="231" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 3</Button>
|
||||||
|
<Button Name="RadioButton4" X="205" Y="251" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="no" HexStyle="0x000009">Option 4</Button>
|
||||||
|
|
||||||
|
<Hypertext Name="EulaHyperlink" X="185" Y="-111" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
|
||||||
|
<Text X="185" Y="-81" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.InstallVersion)</Text>
|
||||||
|
<Checkbox Name="EulaAcceptCheckbox" X="185" Y="-51" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
|
||||||
|
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
|
||||||
|
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
|
||||||
|
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Options">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel)</Text>
|
||||||
|
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
|
||||||
|
|
||||||
|
<Text X="11" Y="171" Width="-11" Height="17" FontId="3">Textbox</Text>
|
||||||
|
<Editbox Name="Username" X="11" Y="193" Width="-91" Height="21" TabStop="yes" FontId="3">[Username]</Editbox>
|
||||||
|
|
||||||
|
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
|
||||||
|
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Progress">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
|
||||||
|
<Text X="11" Y="141" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
|
||||||
|
<Text Name="OverallProgressPackageText" X="85" Y="141" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
|
||||||
|
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="163" Width="-11" Height="20" />
|
||||||
|
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Modify">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
|
||||||
|
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
|
||||||
|
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
|
||||||
|
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Success">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
|
||||||
|
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
|
||||||
|
<Text Name="SuccessRestartText" X="185" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
|
||||||
|
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
|
||||||
|
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Failure">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FailureHeader)</Text>
|
||||||
|
<Hypertext Name="FailureLogFileLink" X="185" Y="121" Width="-11" Height="68" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
|
||||||
|
<Hypertext Name="FailureMessageText" X="185" Y="-115" Width="-11" Height="80" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
|
||||||
|
<Text Name="FailureRestartText" X="185" Y="-57" Width="-11" Height="80" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
|
||||||
|
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
|
||||||
|
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
</Theme>
|
||||||
88
Examples/Resource/Bundle4Theme.xml
Normal file
88
Examples/Resource/Bundle4Theme.xml
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
|
||||||
|
<Window Width="600" Height="450" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
|
||||||
|
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
|
||||||
|
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
|
||||||
|
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
|
||||||
|
|
||||||
|
<Page Name="Help">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
|
||||||
|
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Install">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.InstallHeader)</Text>
|
||||||
|
<Text X="185" Y="91" Width="-11" Height="64" FontId="3" DisablePrefix="yes">#(loc.InstallMessage)</Text><!-- HexStyle="0x800000" -->
|
||||||
|
|
||||||
|
<Checkbox Name="Checkbox1" X="185" Y="191" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">Checkbox Option 1</Checkbox>
|
||||||
|
<Checkbox Name="Checkbox2" X="185" Y="211" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">Checkbox Option 2</Checkbox>
|
||||||
|
|
||||||
|
<Hypertext Name="EulaHyperlink" X="185" Y="-111" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
|
||||||
|
<Text X="185" Y="-81" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.InstallVersion)</Text>
|
||||||
|
<Checkbox Name="EulaAcceptCheckbox" X="185" Y="-51" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
|
||||||
|
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
|
||||||
|
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
|
||||||
|
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Options">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel)</Text>
|
||||||
|
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
|
||||||
|
<Text X="11" Y="171" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel2)</Text>
|
||||||
|
<Editbox Name="FolderEditbox2" X="11" Y="193" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton2" X="-11" Y="192" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton2)</Button>
|
||||||
|
|
||||||
|
<Text X="11" Y="221" Width="-11" Height="17" FontId="3">Textbox</Text>
|
||||||
|
<Editbox Name="ExtraText" X="11" Y="243" Width="-91" Height="21" TabStop="yes" FontId="3">Useful Text</Editbox>
|
||||||
|
|
||||||
|
<Checkbox Name="Checkbox3" X="11" Y="-51" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">Checkbox Option 3</Checkbox>
|
||||||
|
|
||||||
|
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
|
||||||
|
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Progress">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
|
||||||
|
<Text X="11" Y="141" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
|
||||||
|
<Text Name="OverallProgressPackageText" X="85" Y="141" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
|
||||||
|
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="163" Width="-11" Height="15" />
|
||||||
|
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Modify">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
|
||||||
|
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
|
||||||
|
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
|
||||||
|
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Success">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
|
||||||
|
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
|
||||||
|
<Text Name="SuccessRestartText" X="185" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
|
||||||
|
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
|
||||||
|
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Failure">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FailureHeader)</Text>
|
||||||
|
<Hypertext Name="FailureLogFileLink" X="185" Y="121" Width="-11" Height="68" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
|
||||||
|
<Hypertext Name="FailureMessageText" X="185" Y="-115" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
|
||||||
|
<Text Name="FailureRestartText" X="185" Y="-57" Width="-11" Height="51" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
|
||||||
|
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
|
||||||
|
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
</Theme>
|
||||||
49
Examples/Resource/HyperlinkLocaleTheme.wxl
Normal file
49
Examples/Resource/HyperlinkLocaleTheme.wxl
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="en-us" Language="1033" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="Caption">[WixBundleName] Setup</String>
|
||||||
|
<String Id="Title">[WixBundleName]</String>
|
||||||
|
<String Id="InstallHeader">Welcome ([UserLanguageID])</String>
|
||||||
|
<String Id="InstallMessage">Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit.</String>
|
||||||
|
<String Id="InstallVersion">Version [WixBundleVersion]</String>
|
||||||
|
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
|
||||||
|
<String Id="HelpHeader">Setup Help</String>
|
||||||
|
<String Id="HelpText">/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or creates a complete local copy of the bundle in directory. Install is the default.
|
||||||
|
|
||||||
|
/passive | /quiet - displays minimal UI with no prompts or displays no UI and no prompts. By default UI and all prompts are displayed.
|
||||||
|
|
||||||
|
/norestart - suppress any attempts to restart. By default UI will prompt before restart.
|
||||||
|
|
||||||
|
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.</String>
|
||||||
|
<String Id="HelpCloseButton">&Close</String>
|
||||||
|
<String Id="InstallLicenseLinkText">[WixBundleName] <a href="#">license terms</a>.</String>
|
||||||
|
<String Id="InstallAcceptCheckbox">I &agree to the license terms and conditions</String>
|
||||||
|
<String Id="InstallOptionsButton">&Options</String>
|
||||||
|
<String Id="InstallInstallButton">&Install</String>
|
||||||
|
<String Id="InstallCloseButton">&Close</String>
|
||||||
|
<String Id="InstallUpgradeLinkText">Version [WixBundleVersion] <a href="#">upgrade available</a></String>
|
||||||
|
<String Id="OptionsHeader">Setup Options</String>
|
||||||
|
<String Id="OptionsLocationLabel">Install location:</String>
|
||||||
|
<String Id="OptionsBrowseButton">&Browse...</String>
|
||||||
|
<String Id="OptionsLocationLabel2">Database location:</String>
|
||||||
|
<String Id="OptionsBrowseButton2">B&rowse...</String>
|
||||||
|
<String Id="OptionsOkButton">&OK</String>
|
||||||
|
<String Id="OptionsCancelButton">&Cancel</String>
|
||||||
|
<String Id="ProgressHeader">Setup Progress</String>
|
||||||
|
<String Id="ProgressLabel">Processing:</String>
|
||||||
|
<String Id="OverallProgressPackageText">Initializing...</String>
|
||||||
|
<String Id="ProgressCancelButton">&Cancel</String>
|
||||||
|
<String Id="ModifyHeader">Modify Setup</String>
|
||||||
|
<String Id="ModifyRepairButton">&Repair</String>
|
||||||
|
<String Id="ModifyUninstallButton">&Uninstall</String>
|
||||||
|
<String Id="ModifyCloseButton">&Close</String>
|
||||||
|
<String Id="SuccessHeader">Setup Successful</String>
|
||||||
|
<String Id="SuccessLaunchButton">&Launch</String>
|
||||||
|
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
|
||||||
|
<String Id="SuccessRestartButton">&Restart</String>
|
||||||
|
<String Id="SuccessCloseButton">&Close</String>
|
||||||
|
<String Id="FailureHeader">Setup Failed</String>
|
||||||
|
<String Id="FailureHyperlinkLogText">One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>.</String>
|
||||||
|
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
|
||||||
|
<String Id="FailureRestartButton">&Restart</String>
|
||||||
|
<String Id="FailureCloseButton">&Close</String>
|
||||||
|
</WixLocalization>
|
||||||
49
Examples/Resource/HyperlinkTheme.wxl
Normal file
49
Examples/Resource/HyperlinkTheme.wxl
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="en-us" Language="1033" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="Caption">[WixBundleName] Setup</String>
|
||||||
|
<String Id="Title">[WixBundleName]</String>
|
||||||
|
<String Id="InstallHeader">Welcome</String>
|
||||||
|
<String Id="InstallMessage">Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit.</String>
|
||||||
|
<String Id="InstallVersion">Version [WixBundleVersion]</String>
|
||||||
|
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
|
||||||
|
<String Id="HelpHeader">Setup Help</String>
|
||||||
|
<String Id="HelpText">/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or creates a complete local copy of the bundle in directory. Install is the default.
|
||||||
|
|
||||||
|
/passive | /quiet - displays minimal UI with no prompts or displays no UI and no prompts. By default UI and all prompts are displayed.
|
||||||
|
|
||||||
|
/norestart - suppress any attempts to restart. By default UI will prompt before restart.
|
||||||
|
|
||||||
|
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.</String>
|
||||||
|
<String Id="HelpCloseButton">&Close</String>
|
||||||
|
<String Id="InstallLicenseLinkText">[WixBundleName] <a href="#">license terms</a>.</String>
|
||||||
|
<String Id="InstallAcceptCheckbox">I &agree to the license terms and conditions</String>
|
||||||
|
<String Id="InstallOptionsButton">&Options</String>
|
||||||
|
<String Id="InstallInstallButton">&Install</String>
|
||||||
|
<String Id="InstallCloseButton">&Close</String>
|
||||||
|
<String Id="InstallUpgradeLinkText">Version [WixBundleVersion] <a href="#">upgrade available</a></String>
|
||||||
|
<String Id="OptionsHeader">Setup Options</String>
|
||||||
|
<String Id="OptionsLocationLabel">Install location:</String>
|
||||||
|
<String Id="OptionsBrowseButton">&Browse...</String>
|
||||||
|
<String Id="OptionsLocationLabel2">Database location:</String>
|
||||||
|
<String Id="OptionsBrowseButton2">B&rowse...</String>
|
||||||
|
<String Id="OptionsOkButton">&OK</String>
|
||||||
|
<String Id="OptionsCancelButton">&Cancel</String>
|
||||||
|
<String Id="ProgressHeader">Setup Progress</String>
|
||||||
|
<String Id="ProgressLabel">Processing:</String>
|
||||||
|
<String Id="OverallProgressPackageText">Initializing...</String>
|
||||||
|
<String Id="ProgressCancelButton">&Cancel</String>
|
||||||
|
<String Id="ModifyHeader">Modify Setup</String>
|
||||||
|
<String Id="ModifyRepairButton">&Repair</String>
|
||||||
|
<String Id="ModifyUninstallButton">&Uninstall</String>
|
||||||
|
<String Id="ModifyCloseButton">&Close</String>
|
||||||
|
<String Id="SuccessHeader">Setup Successful</String>
|
||||||
|
<String Id="SuccessLaunchButton">&Launch</String>
|
||||||
|
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
|
||||||
|
<String Id="SuccessRestartButton">&Restart</String>
|
||||||
|
<String Id="SuccessCloseButton">&Close</String>
|
||||||
|
<String Id="FailureHeader">Setup Failed</String>
|
||||||
|
<String Id="FailureHyperlinkLogText">One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>.</String>
|
||||||
|
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
|
||||||
|
<String Id="FailureRestartButton">&Restart</String>
|
||||||
|
<String Id="FailureCloseButton">&Close</String>
|
||||||
|
</WixLocalization>
|
||||||
127
Examples/Resource/License.htm
Normal file
127
Examples/Resource/License.htm
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||||
|
<meta name=Generator content="Microsoft Word 14 (filtered)">
|
||||||
|
<style>
|
||||||
|
<!--
|
||||||
|
/* Font Definitions */
|
||||||
|
@font-face
|
||||||
|
{font-family:Calibri;
|
||||||
|
panose-1:2 15 5 2 2 2 4 3 2 4;}
|
||||||
|
@font-face
|
||||||
|
{font-family:Consolas;
|
||||||
|
panose-1:2 11 6 9 2 2 4 3 2 4;}
|
||||||
|
/* Style Definitions */
|
||||||
|
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||||
|
{margin-top:0cm;
|
||||||
|
margin-right:0cm;
|
||||||
|
margin-bottom:10.0pt;
|
||||||
|
margin-left:0cm;
|
||||||
|
line-height:115%;
|
||||||
|
font-size:11.0pt;
|
||||||
|
font-family:"Calibri","sans-serif";}
|
||||||
|
.MsoChpDefault
|
||||||
|
{font-size:11.0pt;}
|
||||||
|
.MsoPapDefault
|
||||||
|
{margin-bottom:10.0pt;
|
||||||
|
line-height:115%;}
|
||||||
|
/* Page Definitions */
|
||||||
|
@page WordSection1
|
||||||
|
{size:612.0pt 792.0pt;
|
||||||
|
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
|
||||||
|
div.WordSection1
|
||||||
|
{page:WordSection1;}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body lang=EN-GB style='text-justify-trim:punctuation'>
|
||||||
|
|
||||||
|
<div class=WordSection1>
|
||||||
|
|
||||||
|
<p class=MsoNormal style='text-autospace:none'><b><span style='font-size:20.0pt;
|
||||||
|
line-height:115%;font-family:Consolas'>[Put Your License Agreement Here]</span></b></p>
|
||||||
|
|
||||||
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
||||||
|
style='font-size:9.5pt;line-height:115%;font-family:Consolas'>L</span><span
|
||||||
|
lang=EN style='font-size:9.5pt;line-height:115%;font-family:Consolas'>orem
|
||||||
|
ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies ultricies
|
||||||
|
arcu id commodo. Ut dignissim ante nec urna elementum imperdiet. Praesent
|
||||||
|
pretium condimentum orci sit amet laoreet. Fusce condimentum tempor leo, vitae
|
||||||
|
tempor quam interdum et. Nulla ante dui, tincidunt sed porta nec, pulvinar in
|
||||||
|
felis. Pellentesque pellentesque ornare nibh id accumsan. In eu arcu nibh.
|
||||||
|
Aenean ut vulputate nisl. Proin at nibh lacinia urna elementum commodo. Donec semper
|
||||||
|
lorem quis neque fringilla quis facilisis dolor dignissim. Suspendisse a massa
|
||||||
|
in odio viverra vehicula. Curabitur id lectus purus, non bibendum arcu. Cras
|
||||||
|
dictum, turpis eget gravida condimentum, turpis ante varius leo, molestie
|
||||||
|
pulvinar mauris libero ut leo. Morbi libero diam, sollicitudin id interdum sit
|
||||||
|
amet, rhoncus eget turpis.</span></p>
|
||||||
|
|
||||||
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:
|
||||||
|
9.5pt;line-height:115%;font-family:Consolas'>Vestibulum arcu dui, suscipit
|
||||||
|
vitae suscipit laoreet, posuere eget risus. Sed vitae massa in justo vehicula
|
||||||
|
elementum sed at arcu. Pellentesque arcu ante, accumsan sed lacinia sed,
|
||||||
|
lacinia vel urna. Vivamus at ligula nulla, lobortis ultricies tortor. Vivamus
|
||||||
|
suscipit dolor non velit adipiscing venenatis. Nullam adipiscing accumsan
|
||||||
|
condimentum. Nullam ut lorem neque, et iaculis felis. Donec sed massa diam, et
|
||||||
|
feugiat velit. Pellentesque facilisis mi a odio ultrices facilisis. Nam porta,
|
||||||
|
lorem feugiat aliquet placerat, ipsum risus accumsan sem, euismod bibendum
|
||||||
|
velit dolor sed turpis. Suspendisse tincidunt, lectus congue rhoncus
|
||||||
|
sollicitudin, magna erat porttitor ante, eget sodales ante sem eu augue. Aenean
|
||||||
|
risus risus, mattis vitae pretium at, venenatis dictum est. Vestibulum
|
||||||
|
consectetur euismod magna vel sodales.</span></p>
|
||||||
|
|
||||||
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:
|
||||||
|
9.5pt;line-height:115%;font-family:Consolas'>Quisque eu urna lacus. Nunc eget
|
||||||
|
dictum odio. Pellentesque vel dolor leo. Praesent aliquet, erat vel fringilla
|
||||||
|
lobortis, ante nibh dapibus augue, sed semper ligula odio vitae nulla. Nullam
|
||||||
|
dictum gravida lectus nec lacinia. Vivamus fermentum ultricies lobortis. In
|
||||||
|
quis magna massa, ut commodo lectus. Donec nunc velit, gravida id euismod
|
||||||
|
luctus, luctus sed ante. Nunc elementum mollis sapien, ac interdum quam
|
||||||
|
fringilla eu. Pellentesque habitant morbi tristique senectus et netus et
|
||||||
|
malesuada fames ac turpis egestas. Aliquam dui enim, tempus vel aliquam sed,
|
||||||
|
pretium sed nisi. Fusce vitae magna nec nibh aliquam suscipit vel a felis.
|
||||||
|
Etiam gravida, lorem id laoreet gravida, nisl leo hendrerit dolor, quis porta
|
||||||
|
mauris enim vitae justo. Maecenas congue, felis at rhoncus vestibulum, nisl
|
||||||
|
urna pellentesque urna, id iaculis augue metus eget neque. Curabitur pretium
|
||||||
|
risus nec tortor vulputate et rhoncus ipsum gravida.</span></p>
|
||||||
|
|
||||||
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:
|
||||||
|
9.5pt;line-height:115%;font-family:Consolas'>Maecenas elementum volutpat arcu,
|
||||||
|
nec ultricies velit faucibus facilisis. Etiam sem lacus, mattis eget gravida
|
||||||
|
ut, rhoncus porta lorem. Vivamus volutpat dui sit amet risus mollis venenatis.
|
||||||
|
Quisque velit velit, condimentum id pharetra sed, varius vitae lectus. Praesent
|
||||||
|
nisi turpis, porttitor nec accumsan a, aliquam sit amet augue. Quisque
|
||||||
|
facilisis enim sed enim pretium tristique. Aliquam commodo varius mi, ut
|
||||||
|
iaculis nunc tempus non. Vivamus velit nunc, dictum a dignissim vitae, commodo
|
||||||
|
id metus. Integer volutpat, neque at ultrices dignissim, felis nulla commodo
|
||||||
|
orci, at auctor nisl quam nec sem. Pellentesque interdum pellentesque nulla, ac
|
||||||
|
fermentum tortor porttitor a. Etiam condimentum aliquet sapien vel adipiscing. Quisque
|
||||||
|
est velit, vulputate a iaculis ut, tempus in nibh. Cras consectetur quam nibh,
|
||||||
|
vel lobortis justo. Aenean a elit leo. Aenean mollis dolor a odio accumsan
|
||||||
|
mollis. Proin blandit neque erat. Integer lectus urna, volutpat quis vulputate
|
||||||
|
et, fermentum et ante. Maecenas vitae ultricies dui.</span></p>
|
||||||
|
|
||||||
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:
|
||||||
|
9.5pt;line-height:115%;font-family:Consolas'>Mauris accumsan varius luctus. In
|
||||||
|
hac habitasse platea dictumst. Mauris malesuada tempus nibh, porta accumsan
|
||||||
|
tortor tincidunt eu. Proin orci mauris, commodo id malesuada nec, adipiscing ut
|
||||||
|
sapien. Phasellus at dui vel nisi adipiscing auctor quis vel sem. Phasellus
|
||||||
|
fermentum, enim id sodales ullamcorper, magna sapien facilisis urna, ac
|
||||||
|
lobortis nunc augue ut ligula. Quisque vulputate nibh sed velit pharetra
|
||||||
|
dictum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque
|
||||||
|
mi metus, vestibulum vitae dapibus vel, ultrices at tellus. Vivamus iaculis dui
|
||||||
|
a nisl faucibus eget congue velit gravida. Donec vel quam ligula. Nam magna
|
||||||
|
ante, vulputate id pharetra ac, dapibus commodo velit. Cras nisl nulla, congue
|
||||||
|
sit amet laoreet eget, cursus et lorem. Mauris diam tortor, porttitor vitae
|
||||||
|
fringilla id, iaculis sit amet eros. Donec sed enim eget felis fermentum
|
||||||
|
posuere. Pellentesque sodales feugiat dolor, vel molestie est adipiscing non.
|
||||||
|
Morbi tincidunt viverra felis ut hendrerit.</span></p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
BIN
Examples/Resource/License.rtf
Normal file
BIN
Examples/Resource/License.rtf
Normal file
Binary file not shown.
BIN
Examples/Resource/Logo.png
Normal file
BIN
Examples/Resource/Logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 886 B |
BIN
Examples/Resource/LogoSide.png
Normal file
BIN
Examples/Resource/LogoSide.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
BIN
Examples/Resource/SplashScreen.bmp
Normal file
BIN
Examples/Resource/SplashScreen.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
38
Examples/Setup.wxs
Normal file
38
Examples/Setup.wxs
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Simple WiX install for BalExtensionExt examples.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- This is application version number, update for each release -->
|
||||||
|
<?ifndef Version?>
|
||||||
|
<?define Version = "$(bal.Version(1.0))" ?>
|
||||||
|
<?endif ?>
|
||||||
|
|
||||||
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
|
||||||
|
<Product Id="*" Name="BalExtensionExt example $(var.Version)" Language="1033" Version="$(var.Version)" Manufacturer="ACME Corporation" UpgradeCode="FBE213AF-D840-4FCE-8719-3DA26AC76F12">
|
||||||
|
<Package Description="WiX install for BalExtensionExt examples." InstallerVersion="200" Compressed="yes" InstallPrivileges="elevated" InstallScope="perMachine" />
|
||||||
|
|
||||||
|
<MajorUpgrade Schedule="afterInstallValidate" DowngradeErrorMessage="A later version of [ProductName] is already installed." />
|
||||||
|
|
||||||
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
|
<Directory Id="ProgramFilesFolder" Name="Program Files">
|
||||||
|
<Directory Id="APPLICATIONFOLDER" Name="ACME" />
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Feature Id="DefaultFeature" Level="1" ConfigurableDirectory="APPLICATIONFOLDER">
|
||||||
|
<ComponentGroupRef Id="Test" />
|
||||||
|
</Feature>
|
||||||
|
|
||||||
|
<MediaTemplate EmbedCab="yes" />
|
||||||
|
|
||||||
|
</Product>
|
||||||
|
|
||||||
|
<Fragment>
|
||||||
|
<ComponentGroup Id="Test">
|
||||||
|
<Component Directory="APPLICATIONFOLDER">
|
||||||
|
<File Source="Resource\License.htm" />
|
||||||
|
</Component>
|
||||||
|
</ComponentGroup>
|
||||||
|
</Fragment>
|
||||||
|
</Wix>
|
||||||
29
Examples/Template bafunctions/IBootstrapperBAFunction.h
Normal file
29
Examples/Template bafunctions/IBootstrapperBAFunction.h
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="IBootstrapperBAFunction.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
#include "IBootstrapperEngine.h"
|
||||||
|
|
||||||
|
interface IBootstrapperBAFunction
|
||||||
|
{
|
||||||
|
STDMETHOD(OnDetect)() = 0;
|
||||||
|
STDMETHOD(OnDetectComplete)() = 0;
|
||||||
|
STDMETHOD(OnPlan)() = 0;
|
||||||
|
STDMETHOD(OnPlanComplete)() = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern "C" typedef HRESULT (WINAPI *PFN_BOOTSTRAPPER_BA_FUNCTION_CREATE)(
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in HMODULE hModule,
|
||||||
|
__out IBootstrapperBAFunction** ppBAFunction
|
||||||
|
);
|
||||||
|
|
||||||
85
Examples/Template bafunctions/Readme.txt
Normal file
85
Examples/Template bafunctions/Readme.txt
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
|
||||||
|
This is a sample project showing how to create a BA function assembly.
|
||||||
|
|
||||||
|
The four interfaces are in the WixBootstrapperBAFunction.cpp file.
|
||||||
|
|
||||||
|
|
||||||
|
Example code:
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
HKEY hkKey = NULL;
|
||||||
|
LPWSTR sczValue = NULL;
|
||||||
|
LPWSTR sczFormatedValue = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of BA function failure
|
||||||
|
hr = E_NOTIMPL;
|
||||||
|
BalExitOnFailure(hr, "Test failure.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of setting a variables
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable1", L"String value");
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
hr = m_pEngine->SetVariableNumeric(L"Variable2", 1234);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of reading burn variable.
|
||||||
|
BalGetStringVariable(L"WixBundleName", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to get variable.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable4", sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Examples of reading burn variable and formatting it.
|
||||||
|
BalGetStringVariable(L"InstallFolder", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to get variable.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable5", sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
|
||||||
|
BalFormatString(sczValue, &sczFormatedValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to format variable.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable6", sczFormatedValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of reading 64 bit registry and setting the InstallFolder variable to the value read.
|
||||||
|
hr = RegOpen(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.5", KEY_READ | KEY_WOW64_64KEY, &hkKey);
|
||||||
|
BalExitOnFailure(hr, "Failed to open registry key.");
|
||||||
|
|
||||||
|
hr = RegReadString(hkKey, L"InstallPath", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to read registry value.");
|
||||||
|
|
||||||
|
// Example of function call
|
||||||
|
PathBackslashTerminate(&sczValue);
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"InstallFolder", sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of calling a function that return HRESULT
|
||||||
|
hr = GetFileVersion();
|
||||||
|
BalExitOnFailure(hr, "Failed to get version.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
ReleaseRegKey(hkKey);
|
||||||
|
ReleaseStr(sczValue);
|
||||||
|
ReleaseStr(sczFormatedValue);
|
||||||
72
Examples/Template bafunctions/Version.proj
Normal file
72
Examples/Template bafunctions/Version.proj
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="WriteVersionFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||||
|
<PropertyGroup>
|
||||||
|
<MajorBuildNumber>1</MajorBuildNumber>
|
||||||
|
<MinorBuildNumber>0</MinorBuildNumber>
|
||||||
|
|
||||||
|
<CppVersionFile>.\bafunctionsver.h</CppVersionFile>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<Base>$([System.DateTime]::new(2000, 1, 1))</Base>
|
||||||
|
<BuildNumber>$([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().Subtract($(Base)).TotalDays)))</BuildNumber>
|
||||||
|
<BuildRevision>$([System.Convert]::ToInt32($([MSBuild]::Divide($([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().TimeOfDay.TotalSeconds))), 2))))</BuildRevision>
|
||||||
|
|
||||||
|
<FullBuildVersionString>$(MajorBuildNumber).$(MinorBuildNumber).$(BuildNumber).$(BuildRevision)</FullBuildVersionString>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
VersionPrint
|
||||||
|
|
||||||
|
Displays the versions of this build.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="VersionPrint">
|
||||||
|
<Message Text="FullBuildVersionString = $(FullBuildVersionString)" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
WriteCppVersionFile
|
||||||
|
|
||||||
|
Creates the wixver.h version file for C++ code.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="WriteCppVersionFile"
|
||||||
|
Returns="$(CppVersionFile)">
|
||||||
|
<ItemGroup>
|
||||||
|
<CppVersionLines Include="
|
||||||
|
// <auto-generated/>
|
||||||
|
#ifndef _VERSION_FILE_H_
|
||||||
|
#define _VERSION_FILE_H_
|
||||||
|
|
||||||
|
#define szVerMajorMinor "$(MajorBuildNumber).$(MinorBuildNumber)"
|
||||||
|
#define szVerMajorMinorBuildRev "$(FullBuildVersionString)"
|
||||||
|
#define rmj $(MajorBuildNumber)
|
||||||
|
#define rmm $(MinorBuildNumber)
|
||||||
|
#define rbd $(BuildNumber)
|
||||||
|
#define rev $(BuildRevision)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
"/>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<WriteLinesToFile Overwrite="true"
|
||||||
|
File="$(CppVersionFile)"
|
||||||
|
Lines="@(CppVersionLines)" />
|
||||||
|
<ItemGroup>
|
||||||
|
<FileWrites Include="$(CppVersionFile)" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
WriteVersionFiles
|
||||||
|
|
||||||
|
Creates the version files.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="WriteVersionFiles" DependsOnTargets="VersionPrint;WriteCppVersionFile" />
|
||||||
|
|
||||||
|
</Project>
|
||||||
134
Examples/Template bafunctions/WixBootstrapperBAFunction.cpp
Normal file
134
Examples/Template bafunctions/WixBootstrapperBAFunction.cpp
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="WixBootstrapperBAFunction.cpp" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
class CWixBootstrapperBAFunction : IBootstrapperBAFunction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
STDMETHODIMP OnDetect()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running detect BA function");
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// YOUR CODE GOES HERE
|
||||||
|
BalExitOnFailure(hr, "Change this message to represent real error handling.");
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
STDMETHODIMP OnDetectComplete() { return S_OK; }
|
||||||
|
STDMETHODIMP OnPlan() { return S_OK; }
|
||||||
|
STDMETHODIMP OnPlanComplete() { return S_OK; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
STDMETHODIMP OnDetectComplete()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running detect complete BA function");
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// YOUR CODE GOES HERE
|
||||||
|
BalExitOnFailure(hr, "Change this message to represent real error handling.");
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
STDMETHODIMP OnPlan()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running plan BA function");
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// YOUR CODE GOES HERE
|
||||||
|
BalExitOnFailure(hr, "Change this message to represent real error handling.");
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
STDMETHODIMP OnPlanComplete()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running plan complete BA function");
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// YOUR CODE GOES HERE
|
||||||
|
BalExitOnFailure(hr, "Change this message to represent real error handling.");
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
HMODULE m_hModule;
|
||||||
|
IBootstrapperEngine* m_pEngine;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
//
|
||||||
|
// Constructor - initialize member variables.
|
||||||
|
//
|
||||||
|
CWixBootstrapperBAFunction(
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in HMODULE hModule
|
||||||
|
)
|
||||||
|
{
|
||||||
|
m_hModule = hModule;
|
||||||
|
m_pEngine = pEngine;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Destructor - release member variables.
|
||||||
|
//
|
||||||
|
~CWixBootstrapperBAFunction()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" HRESULT WINAPI CreateBootstrapperBAFunction(
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in HMODULE hModule,
|
||||||
|
__out CWixBootstrapperBAFunction** ppBAFunction
|
||||||
|
)
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
CWixBootstrapperBAFunction* pBAFunction = NULL;
|
||||||
|
|
||||||
|
// This is required to enable logging functions
|
||||||
|
BalInitialize(pEngine);
|
||||||
|
|
||||||
|
pBAFunction = new CWixBootstrapperBAFunction(pEngine, hModule);
|
||||||
|
ExitOnNull(pBAFunction, hr, E_OUTOFMEMORY, "Failed to create new bootstrapper BA function object.");
|
||||||
|
|
||||||
|
*ppBAFunction = pBAFunction;
|
||||||
|
pBAFunction = NULL;
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
delete pBAFunction;
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
37
Examples/Template bafunctions/bafunctions.cpp
Normal file
37
Examples/Template bafunctions/bafunctions.cpp
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="bafunctions.cpp" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// Entry point for bootstrapper BA function DLL.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
static HINSTANCE vhInstance = NULL;
|
||||||
|
|
||||||
|
extern "C" BOOL WINAPI DllMain(
|
||||||
|
IN HINSTANCE hInstance,
|
||||||
|
IN DWORD dwReason,
|
||||||
|
IN LPVOID /* pvReserved */
|
||||||
|
)
|
||||||
|
{
|
||||||
|
switch(dwReason)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
::DisableThreadLibraryCalls(hInstance);
|
||||||
|
vhInstance = hInstance;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
vhInstance = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
16
Examples/Template bafunctions/bafunctions.def
Normal file
16
Examples/Template bafunctions/bafunctions.def
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
;-------------------------------------------------------------------------------------------------
|
||||||
|
; <copyright file="bafunctions.def" company="Outercurve Foundation">
|
||||||
|
; Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
; This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
; The license and further copyright text can be found in the file
|
||||||
|
; LICENSE.TXT at the root directory of the distribution.
|
||||||
|
; </copyright>
|
||||||
|
;
|
||||||
|
; <summary>
|
||||||
|
; Bootstrapper Application function DLL entry points.
|
||||||
|
; </summary>
|
||||||
|
;-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
CreateBootstrapperBAFunction
|
||||||
|
|
||||||
129
Examples/Template bafunctions/bafunctions.rc
Normal file
129
Examples/Template bafunctions/bafunctions.rc
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="bafunctions.rc" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// WiX Extendend Bootstrapper BA function resource file.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <winver.h>
|
||||||
|
#include <windows.h>
|
||||||
|
#include "bafunctionsver.h"
|
||||||
|
|
||||||
|
#define VER_APP
|
||||||
|
#define VER_ORIGINAL_FILENAME "bafunctions.dll"
|
||||||
|
#define VER_INTERNAL_NAME "bafunctions"
|
||||||
|
#define VER_PRODUCT_NAME "WiX Bootstrapper functions"
|
||||||
|
#define VER_FILE_DESCRIPTION "WiX Bootstrapper functions"
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
#define VER_DEBUG VS_FF_DEBUG
|
||||||
|
#define VER_PRIVATE_BUILD VS_FF_PRIVATEBUILD
|
||||||
|
#define VER_PRE_RELEASE (VS_FF_PRERELEASE | VS_FF_SPECIALBUILD)
|
||||||
|
#else
|
||||||
|
#define VER_DEBUG 0
|
||||||
|
#define VER_PRIVATE_BUILD 0
|
||||||
|
#define VER_PRE_RELEASE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_APP)
|
||||||
|
#define VER_FILE_TYPE VFT_APP
|
||||||
|
#elif defined(VER_DLL)
|
||||||
|
#define VER_FILE_TYPE VFT_DLL
|
||||||
|
#elif defined(VER_TYPELIB)
|
||||||
|
#define VER_FILE_TYPE VFT_UNKNOWN
|
||||||
|
#else
|
||||||
|
#define VER_FILE_TYPE VFT_UNKNOWN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_LANG_NEUTRAL)
|
||||||
|
#ifndef VER_LANG
|
||||||
|
#define VER_LANG 0x0000
|
||||||
|
#endif
|
||||||
|
#ifndef VER_CP
|
||||||
|
#define VER_CP 0x04E4
|
||||||
|
#endif
|
||||||
|
#ifndef VER_BLOCK
|
||||||
|
#define VER_BLOCK "000004E4"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifndef VER_LANG
|
||||||
|
#define VER_LANG 0x0409
|
||||||
|
#endif
|
||||||
|
#ifndef VER_CP
|
||||||
|
#define VER_CP 0x04E4
|
||||||
|
#endif
|
||||||
|
#ifndef VER_BLOCK
|
||||||
|
#define VER_BLOCK "040904E4"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define VER_FILE_VERSION rmj, rmm, rbd, rev
|
||||||
|
#define VER_PRODUCT_VERSION rmj, rmm, rbd, rev
|
||||||
|
#define VER_FILE_VERSION_STRING szVerMajorMinorBuildRev
|
||||||
|
#define VER_PRODUCT_VERSION_STRING VER_FILE_VERSION_STRING
|
||||||
|
#define VER_FILE_FLAGS_MASK VS_FFI_FILEFLAGSMASK
|
||||||
|
#define VER_FILE_FLAGS (VER_DEBUG | VER_PRIVATE_BUILD | VER_PRE_RELEASE)
|
||||||
|
|
||||||
|
#define VER_FILE_OS VOS__WINDOWS32
|
||||||
|
|
||||||
|
#define VER_COMPANY_NAME "Outercurve Foundation"
|
||||||
|
#ifndef VER_PRODUCT_NAME
|
||||||
|
#define VER_PRODUCT_NAME "Windows Installer XML (WiX)"
|
||||||
|
#endif
|
||||||
|
#ifndef VER_FILE_DESCRIPTION
|
||||||
|
#define VER_FILE_DESCRIPTION "Windows Installer XML (WiX) component"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_LEGAL_COPYRIGHT)
|
||||||
|
#error
|
||||||
|
#endif
|
||||||
|
#define VER_LEGAL_COPYRIGHT "Copyright (c) Outercurve Foundation.\240 All rights reserved."
|
||||||
|
|
||||||
|
#if !defined(VER_FILE_SUBTYPE)
|
||||||
|
#define VER_FILE_SUBTYPE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RC_INVOKED
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION VER_FILE_VERSION
|
||||||
|
PRODUCTVERSION VER_PRODUCT_VERSION
|
||||||
|
FILEFLAGSMASK VER_FILE_FLAGS_MASK
|
||||||
|
FILEFLAGS VER_FILE_FLAGS
|
||||||
|
FILEOS VER_FILE_OS
|
||||||
|
FILETYPE VER_FILE_TYPE
|
||||||
|
FILESUBTYPE VER_FILE_SUBTYPE
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK VER_BLOCK
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", VER_COMPANY_NAME
|
||||||
|
VALUE "FileDescription", VER_FILE_DESCRIPTION
|
||||||
|
VALUE "FileVersion", VER_FILE_VERSION_STRING
|
||||||
|
VALUE "InternalName", VER_INTERNAL_NAME
|
||||||
|
|
||||||
|
VALUE "LegalCopyright", VER_LEGAL_COPYRIGHT
|
||||||
|
|
||||||
|
VALUE "OriginalFilename", VER_ORIGINAL_FILENAME
|
||||||
|
VALUE "ProductName", VER_PRODUCT_NAME
|
||||||
|
VALUE "ProductVersion", VER_FILE_VERSION_STRING
|
||||||
|
#if defined(DEBUG)
|
||||||
|
VALUE "WiX Common Resource Format", "Debug Only"
|
||||||
|
#endif
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", VER_LANG, VER_CP
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
134
Examples/Template bafunctions/bafunctions.vcxproj
Normal file
134
Examples/Template bafunctions/bafunctions.vcxproj
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="bafunctions.vcxproj" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}</ProjectGuid>
|
||||||
|
<RootNamespace>BaFunctions</RootNamespace>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<ProjectName>bafunctions</ProjectName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ExtraDefinitions>
|
||||||
|
</ExtraDefinitions>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(WiX)SDK\VS2010\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;DEBUG;%(PreprocessorDefinitions);$(ExtraDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CallingConvention>StdCall</CallingConvention>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>dutil.lib;balutil.lib;comctl32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(WiX)SDK\VS2010\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<ModuleDefinitionFile>bafunctions.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(WiX)SDK\VS2010\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);$(ExtraDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CallingConvention>StdCall</CallingConvention>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>dutil.lib;balutil.lib;comctl32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(WiX)SDK\VS2010\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<ModuleDefinitionFile>bafunctions.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="WixBootstrapperBAFunction.cpp" />
|
||||||
|
<ClCompile Include="bafunctions.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="bafunctions.def" />
|
||||||
|
<None Include="Readme.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="bafunctions.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="precomp.h" />
|
||||||
|
<ClInclude Include="resource.h" />
|
||||||
|
<ClInclude Include="IBootstrapperBAFunction.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
47
Examples/Template bafunctions/bafunctions.vcxproj.filters
Normal file
47
Examples/Template bafunctions/bafunctions.vcxproj.filters
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="WixBootstrapperBAFunction.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="bafunctions.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="precomp.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="resource.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="IBootstrapperBAFunction.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="bafunctions.def">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Readme.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="bafunctions.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
12
Examples/Template bafunctions/bafunctionsver.h
Normal file
12
Examples/Template bafunctions/bafunctionsver.h
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
#ifndef _VERSION_FILE_H_
|
||||||
|
#define _VERSION_FILE_H_
|
||||||
|
|
||||||
|
#define szVerMajorMinor "1.0"
|
||||||
|
#define szVerMajorMinorBuildRev "1.0.0.0"
|
||||||
|
#define rmj 1
|
||||||
|
#define rmm 0
|
||||||
|
#define rbd 0
|
||||||
|
#define rev 0
|
||||||
|
|
||||||
|
#endif
|
||||||
23
Examples/Template bafunctions/build.bat
Normal file
23
Examples/Template bafunctions/build.bat
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
echo Configuring environment...
|
||||||
|
set MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
|
||||||
|
echo.
|
||||||
|
|
||||||
|
set outdir=%~dp0build
|
||||||
|
|
||||||
|
rem %MSBUILD% Version.proj
|
||||||
|
%MSBUILD% bafunctions.vcxproj /t:Rebuild /p:Configuration=Release,Platform=Win32 /p:RunCodeAnalysis=false /p:DefineConstants="TRACE" /p:OutDir="%outdir%\\" /l:FileLogger,Microsoft.Build.Engine;logfile=build.log
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Build failed
|
||||||
|
pause
|
||||||
|
goto :EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
|
||||||
|
REM *****************************************************************
|
||||||
|
REM End of Main
|
||||||
|
REM *****************************************************************
|
||||||
52
Examples/Template bafunctions/precomp.h
Normal file
52
Examples/Template bafunctions/precomp.h
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="precomp.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// Precompiled header for standard bootstrapper application.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <gdiplus.h>
|
||||||
|
#include <msiquery.h>
|
||||||
|
#include <objbase.h>
|
||||||
|
#include <shlobj.h>
|
||||||
|
#include <shlwapi.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <strsafe.h>
|
||||||
|
|
||||||
|
// Standard WiX header files, include as required
|
||||||
|
#include "dutil.h"
|
||||||
|
//#include "memutil.h"
|
||||||
|
//#include "dictutil.h"
|
||||||
|
//#include "dirutil.h"
|
||||||
|
#include "fileutil.h"
|
||||||
|
//#include "locutil.h"
|
||||||
|
//#include "logutil.h"
|
||||||
|
#include "pathutil.h"
|
||||||
|
//#include "resrutil.h"
|
||||||
|
//#include "shelutil.h"
|
||||||
|
#include "strutil.h"
|
||||||
|
//#include "thmutil.h"
|
||||||
|
//#include "uriutil.h"
|
||||||
|
//#include "xmlutil.h"
|
||||||
|
#include "regutil.h"
|
||||||
|
|
||||||
|
//#include "IBootstrapperEngine.h"
|
||||||
|
//#include "IBootstrapperApplication.h"
|
||||||
|
|
||||||
|
#include "BalBaseBootstrapperApplication.h"
|
||||||
|
//#include "balinfo.h"
|
||||||
|
//#include "balcondition.h"
|
||||||
|
#include "balutil.h"
|
||||||
|
|
||||||
|
#include "IBootstrapperBAFunction.h"
|
||||||
|
|
||||||
25
Examples/Template bafunctions/resource.h
Normal file
25
Examples/Template bafunctions/resource.h
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="resource.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
//
|
||||||
|
#define IDC_STATIC -1
|
||||||
|
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1003
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
BIN
Examples/bafunctions.dll
Normal file
BIN
Examples/bafunctions.dll
Normal file
Binary file not shown.
28
LICENSE.TXT
Normal file
28
LICENSE.TXT
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under the Microsoft Reciprocal License (MS-RL) (the "License"); you may not use the software except in compliance with the License.
|
||||||
|
|
||||||
|
The text of the Microsoft Reciprocal License (MS-RL) can be found online at:
|
||||||
|
http://opensource.org/licenses/ms-rl
|
||||||
|
|
||||||
|
|
||||||
|
Microsoft Reciprocal License (MS-RL)
|
||||||
|
|
||||||
|
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.
|
||||||
|
A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
|
||||||
|
2. Grant of Rights
|
||||||
|
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
|
||||||
|
3. Conditions and Limitations
|
||||||
|
(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose.
|
||||||
|
(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
|
||||||
|
(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
|
||||||
|
(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
|
||||||
|
(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
|
||||||
29
bafunctions/IBootstrapperBAFunction.h
Normal file
29
bafunctions/IBootstrapperBAFunction.h
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="IBootstrapperBAFunction.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
#include "IBootstrapperEngine.h"
|
||||||
|
|
||||||
|
interface IBootstrapperBAFunction
|
||||||
|
{
|
||||||
|
STDMETHOD(OnDetect)() = 0;
|
||||||
|
STDMETHOD(OnDetectComplete)() = 0;
|
||||||
|
STDMETHOD(OnPlan)() = 0;
|
||||||
|
STDMETHOD(OnPlanComplete)() = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern "C" typedef HRESULT (WINAPI *PFN_BOOTSTRAPPER_BA_FUNCTION_CREATE)(
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in HMODULE hModule,
|
||||||
|
__out IBootstrapperBAFunction** ppBAFunction
|
||||||
|
);
|
||||||
|
|
||||||
72
bafunctions/Version.proj
Normal file
72
bafunctions/Version.proj
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="WriteVersionFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||||
|
<PropertyGroup>
|
||||||
|
<MajorBuildNumber>1</MajorBuildNumber>
|
||||||
|
<MinorBuildNumber>0</MinorBuildNumber>
|
||||||
|
|
||||||
|
<CppVersionFile>.\bafunctionsver.h</CppVersionFile>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<Base>$([System.DateTime]::new(2000, 1, 1))</Base>
|
||||||
|
<BuildNumber>$([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().Subtract($(Base)).TotalDays)))</BuildNumber>
|
||||||
|
<BuildRevision>$([System.Convert]::ToInt32($([MSBuild]::Divide($([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().TimeOfDay.TotalSeconds))), 2))))</BuildRevision>
|
||||||
|
|
||||||
|
<FullBuildVersionString>$(MajorBuildNumber).$(MinorBuildNumber).$(BuildNumber).$(BuildRevision)</FullBuildVersionString>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
VersionPrint
|
||||||
|
|
||||||
|
Displays the versions of this build.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="VersionPrint">
|
||||||
|
<Message Text="FullBuildVersionString = $(FullBuildVersionString)" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
WriteCppVersionFile
|
||||||
|
|
||||||
|
Creates the wixver.h version file for C++ code.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="WriteCppVersionFile"
|
||||||
|
Returns="$(CppVersionFile)">
|
||||||
|
<ItemGroup>
|
||||||
|
<CppVersionLines Include="
|
||||||
|
// <auto-generated/>
|
||||||
|
#ifndef _VERSION_FILE_H_
|
||||||
|
#define _VERSION_FILE_H_
|
||||||
|
|
||||||
|
#define szVerMajorMinor "$(MajorBuildNumber).$(MinorBuildNumber)"
|
||||||
|
#define szVerMajorMinorBuildRev "$(FullBuildVersionString)"
|
||||||
|
#define rmj $(MajorBuildNumber)
|
||||||
|
#define rmm $(MinorBuildNumber)
|
||||||
|
#define rbd $(BuildNumber)
|
||||||
|
#define rev $(BuildRevision)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
"/>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<WriteLinesToFile Overwrite="true"
|
||||||
|
File="$(CppVersionFile)"
|
||||||
|
Lines="@(CppVersionLines)" />
|
||||||
|
<ItemGroup>
|
||||||
|
<FileWrites Include="$(CppVersionFile)" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
WriteVersionFiles
|
||||||
|
|
||||||
|
Creates the version files.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="WriteVersionFiles" DependsOnTargets="VersionPrint;WriteCppVersionFile" />
|
||||||
|
|
||||||
|
</Project>
|
||||||
278
bafunctions/WixBootstrapperBAFunction.cpp
Normal file
278
bafunctions/WixBootstrapperBAFunction.cpp
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="WixBootstrapperBAFunction.cpp" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
class CWixBootstrapperBAFunction : IBootstrapperBAFunction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
STDMETHODIMP OnDetect()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
HKEY hkKey = NULL;
|
||||||
|
LPWSTR sczValue = NULL;
|
||||||
|
LPWSTR sczFormatedValue = NULL;
|
||||||
|
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running detect BA function");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of BA function failure
|
||||||
|
//hr = E_NOTIMPL;
|
||||||
|
//BalExitOnFailure(hr, "Test failure.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of setting a variables
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable1", L"String value");
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
hr = m_pEngine->SetVariableNumeric(L"Variable2", 1234);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of reading burn variable.
|
||||||
|
BalGetStringVariable(L"WixBundleName", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to get variable.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable4", sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Examples of reading burn variable and formatting it.
|
||||||
|
BalGetStringVariable(L"InstallFolder", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to get variable.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable5", sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
|
||||||
|
BalFormatString(sczValue, &sczFormatedValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to format variable.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable6", sczFormatedValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
BalFormatString(L"WixBundleVersion=[WixBundleVersion]", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to format variable.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"Variable7", sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of reading 64 bit registry and setting the InstallFolder variable to the value read.
|
||||||
|
hr = RegOpen(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.5", KEY_READ | KEY_WOW64_64KEY, &hkKey);
|
||||||
|
BalExitOnFailure(hr, "Failed to open registry key.");
|
||||||
|
|
||||||
|
hr = RegReadString(hkKey, L"InstallPath", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to read registry value.");
|
||||||
|
|
||||||
|
// Example of function call
|
||||||
|
PathBackslashTerminate(&sczValue);
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableString(L"InstallFolder", sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
hr = PathRelativeToModule(&sczValue, NULL, m_hModule);
|
||||||
|
hr = m_pEngine->SetVariableString(L"ModulePath", sczValue);
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ReleaseNullStr(sczValue); // Release string so it can be re-used
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
hr = GetFileVersion();
|
||||||
|
BalExitOnFailure(hr, "Failed to get version.");
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Delay start to show splashscreen handling
|
||||||
|
Delay();
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
ReleaseRegKey(hkKey);
|
||||||
|
ReleaseStr(sczValue);
|
||||||
|
ReleaseStr(sczFormatedValue);
|
||||||
|
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
STDMETHODIMP OnDetectComplete() { return S_OK; }
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
STDMETHODIMP OnDetectComplete()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running detect complete BA function");
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// YOUR CODE GOES HERE
|
||||||
|
BalExitOnFailure(hr, "Change this message to represent real error handling.");
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
STDMETHODIMP OnPlan()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running plan BA function");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of converting 4 radio button values in to 1
|
||||||
|
LONGLONG llValue = 0;
|
||||||
|
if (SUCCEEDED(BalGetNumericVariable(L"RadioButton1", &llValue)) && llValue)
|
||||||
|
{
|
||||||
|
m_pEngine->SetVariableNumeric(L"RadioButton", 1);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
}
|
||||||
|
else if (SUCCEEDED(BalGetNumericVariable(L"RadioButton2", &llValue)) && llValue)
|
||||||
|
{
|
||||||
|
m_pEngine->SetVariableNumeric(L"RadioButton", 2);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
}
|
||||||
|
else if (SUCCEEDED(BalGetNumericVariable(L"RadioButton3", &llValue)) && llValue)
|
||||||
|
{
|
||||||
|
m_pEngine->SetVariableNumeric(L"RadioButton", 3);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
}
|
||||||
|
else if (SUCCEEDED(BalGetNumericVariable(L"RadioButton4", &llValue)) && llValue)
|
||||||
|
{
|
||||||
|
m_pEngine->SetVariableNumeric(L"RadioButton", 4);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_pEngine->SetVariableNumeric(L"RadioButton", 0);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
STDMETHODIMP OnPlanComplete()
|
||||||
|
{
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Running plan complete BA function");
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
// Example of function call to get the file version of this bundle
|
||||||
|
//---------------------------------------------------------------------------------------------
|
||||||
|
HRESULT GetFileVersion()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
LPWSTR sczValue = NULL;
|
||||||
|
ULARGE_INTEGER uliVersion = { };
|
||||||
|
|
||||||
|
BalFormatString(L"[WixBundleOriginalSource]", &sczValue);
|
||||||
|
BalExitOnFailure(hr, "Failed to format variable.");
|
||||||
|
|
||||||
|
FileVersion(sczValue, &uliVersion.HighPart, &uliVersion.LowPart);
|
||||||
|
BalExitOnFailure(hr, "Failed to get file version.");
|
||||||
|
|
||||||
|
hr = m_pEngine->SetVariableVersion(L"FileVersion", uliVersion.QuadPart);
|
||||||
|
BalExitOnFailure(hr, "Failed to set variable.");
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
ReleaseStr(sczValue);
|
||||||
|
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HRESULT Delay()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
LONGLONG llDelay = 0;
|
||||||
|
|
||||||
|
BalGetNumericVariable(L"DelayStart", &llDelay);
|
||||||
|
if (llDelay)
|
||||||
|
{
|
||||||
|
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Delay for %dms", (DWORD)llDelay);
|
||||||
|
::Sleep((DWORD)llDelay);
|
||||||
|
}
|
||||||
|
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
HMODULE m_hModule;
|
||||||
|
IBootstrapperEngine* m_pEngine;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
//
|
||||||
|
// Constructor - initialize member variables.
|
||||||
|
//
|
||||||
|
CWixBootstrapperBAFunction(
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in HMODULE hModule
|
||||||
|
)
|
||||||
|
{
|
||||||
|
m_hModule = hModule;
|
||||||
|
m_pEngine = pEngine;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Destructor - release member variables.
|
||||||
|
//
|
||||||
|
~CWixBootstrapperBAFunction()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" HRESULT WINAPI CreateBootstrapperBAFunction(
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in HMODULE hModule,
|
||||||
|
__out CWixBootstrapperBAFunction** ppBAFunction
|
||||||
|
)
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
CWixBootstrapperBAFunction* pBAFunction = NULL;
|
||||||
|
|
||||||
|
// This is required to enable logging functions
|
||||||
|
BalInitialize(pEngine);
|
||||||
|
|
||||||
|
pBAFunction = new CWixBootstrapperBAFunction(pEngine, hModule);
|
||||||
|
ExitOnNull(pBAFunction, hr, E_OUTOFMEMORY, "Failed to create new bootstrapper BA function object.");
|
||||||
|
|
||||||
|
*ppBAFunction = pBAFunction;
|
||||||
|
pBAFunction = NULL;
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
delete pBAFunction;
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
37
bafunctions/bafunctions.cpp
Normal file
37
bafunctions/bafunctions.cpp
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="bafunctions.cpp" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// Entry point for bootstrapper BA function DLL.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
static HINSTANCE vhInstance = NULL;
|
||||||
|
|
||||||
|
extern "C" BOOL WINAPI DllMain(
|
||||||
|
IN HINSTANCE hInstance,
|
||||||
|
IN DWORD dwReason,
|
||||||
|
IN LPVOID /* pvReserved */
|
||||||
|
)
|
||||||
|
{
|
||||||
|
switch(dwReason)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
::DisableThreadLibraryCalls(hInstance);
|
||||||
|
vhInstance = hInstance;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
vhInstance = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
16
bafunctions/bafunctions.def
Normal file
16
bafunctions/bafunctions.def
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
;-------------------------------------------------------------------------------------------------
|
||||||
|
; <copyright file="bafunctions.def" company="Outercurve Foundation">
|
||||||
|
; Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
; This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
; The license and further copyright text can be found in the file
|
||||||
|
; LICENSE.TXT at the root directory of the distribution.
|
||||||
|
; </copyright>
|
||||||
|
;
|
||||||
|
; <summary>
|
||||||
|
; Bootstrapper Application function DLL entry points.
|
||||||
|
; </summary>
|
||||||
|
;-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
CreateBootstrapperBAFunction
|
||||||
|
|
||||||
129
bafunctions/bafunctions.rc
Normal file
129
bafunctions/bafunctions.rc
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="bafunctions.rc" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// WiX Extendend Bootstrapper BA function resource file.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <winver.h>
|
||||||
|
#include <windows.h>
|
||||||
|
#include "bafunctionsver.h"
|
||||||
|
|
||||||
|
#define VER_APP
|
||||||
|
#define VER_ORIGINAL_FILENAME "bafunctions.dll"
|
||||||
|
#define VER_INTERNAL_NAME "bafunctions"
|
||||||
|
#define VER_PRODUCT_NAME "WiX Bootstrapper functions"
|
||||||
|
#define VER_FILE_DESCRIPTION "WiX Bootstrapper functions"
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
#define VER_DEBUG VS_FF_DEBUG
|
||||||
|
#define VER_PRIVATE_BUILD VS_FF_PRIVATEBUILD
|
||||||
|
#define VER_PRE_RELEASE (VS_FF_PRERELEASE | VS_FF_SPECIALBUILD)
|
||||||
|
#else
|
||||||
|
#define VER_DEBUG 0
|
||||||
|
#define VER_PRIVATE_BUILD 0
|
||||||
|
#define VER_PRE_RELEASE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_APP)
|
||||||
|
#define VER_FILE_TYPE VFT_APP
|
||||||
|
#elif defined(VER_DLL)
|
||||||
|
#define VER_FILE_TYPE VFT_DLL
|
||||||
|
#elif defined(VER_TYPELIB)
|
||||||
|
#define VER_FILE_TYPE VFT_UNKNOWN
|
||||||
|
#else
|
||||||
|
#define VER_FILE_TYPE VFT_UNKNOWN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_LANG_NEUTRAL)
|
||||||
|
#ifndef VER_LANG
|
||||||
|
#define VER_LANG 0x0000
|
||||||
|
#endif
|
||||||
|
#ifndef VER_CP
|
||||||
|
#define VER_CP 0x04E4
|
||||||
|
#endif
|
||||||
|
#ifndef VER_BLOCK
|
||||||
|
#define VER_BLOCK "000004E4"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifndef VER_LANG
|
||||||
|
#define VER_LANG 0x0409
|
||||||
|
#endif
|
||||||
|
#ifndef VER_CP
|
||||||
|
#define VER_CP 0x04E4
|
||||||
|
#endif
|
||||||
|
#ifndef VER_BLOCK
|
||||||
|
#define VER_BLOCK "040904E4"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define VER_FILE_VERSION rmj, rmm, rbd, rev
|
||||||
|
#define VER_PRODUCT_VERSION rmj, rmm, rbd, rev
|
||||||
|
#define VER_FILE_VERSION_STRING szVerMajorMinorBuildRev
|
||||||
|
#define VER_PRODUCT_VERSION_STRING VER_FILE_VERSION_STRING
|
||||||
|
#define VER_FILE_FLAGS_MASK VS_FFI_FILEFLAGSMASK
|
||||||
|
#define VER_FILE_FLAGS (VER_DEBUG | VER_PRIVATE_BUILD | VER_PRE_RELEASE)
|
||||||
|
|
||||||
|
#define VER_FILE_OS VOS__WINDOWS32
|
||||||
|
|
||||||
|
#define VER_COMPANY_NAME "Outercurve Foundation"
|
||||||
|
#ifndef VER_PRODUCT_NAME
|
||||||
|
#define VER_PRODUCT_NAME "Windows Installer XML (WiX)"
|
||||||
|
#endif
|
||||||
|
#ifndef VER_FILE_DESCRIPTION
|
||||||
|
#define VER_FILE_DESCRIPTION "Windows Installer XML (WiX) component"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_LEGAL_COPYRIGHT)
|
||||||
|
#error
|
||||||
|
#endif
|
||||||
|
#define VER_LEGAL_COPYRIGHT "Copyright (c) Outercurve Foundation.\240 All rights reserved."
|
||||||
|
|
||||||
|
#if !defined(VER_FILE_SUBTYPE)
|
||||||
|
#define VER_FILE_SUBTYPE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RC_INVOKED
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION VER_FILE_VERSION
|
||||||
|
PRODUCTVERSION VER_PRODUCT_VERSION
|
||||||
|
FILEFLAGSMASK VER_FILE_FLAGS_MASK
|
||||||
|
FILEFLAGS VER_FILE_FLAGS
|
||||||
|
FILEOS VER_FILE_OS
|
||||||
|
FILETYPE VER_FILE_TYPE
|
||||||
|
FILESUBTYPE VER_FILE_SUBTYPE
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK VER_BLOCK
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", VER_COMPANY_NAME
|
||||||
|
VALUE "FileDescription", VER_FILE_DESCRIPTION
|
||||||
|
VALUE "FileVersion", VER_FILE_VERSION_STRING
|
||||||
|
VALUE "InternalName", VER_INTERNAL_NAME
|
||||||
|
|
||||||
|
VALUE "LegalCopyright", VER_LEGAL_COPYRIGHT
|
||||||
|
|
||||||
|
VALUE "OriginalFilename", VER_ORIGINAL_FILENAME
|
||||||
|
VALUE "ProductName", VER_PRODUCT_NAME
|
||||||
|
VALUE "ProductVersion", VER_FILE_VERSION_STRING
|
||||||
|
#if defined(DEBUG)
|
||||||
|
VALUE "WiX Common Resource Format", "Debug Only"
|
||||||
|
#endif
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", VER_LANG, VER_CP
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
137
bafunctions/bafunctions.vcxproj
Normal file
137
bafunctions/bafunctions.vcxproj
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="bafunctions.vcxproj" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}</ProjectGuid>
|
||||||
|
<RootNamespace>BaFunctions</RootNamespace>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<ProjectName>bafunctions</ProjectName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ExtraDefinitions>
|
||||||
|
</ExtraDefinitions>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(WiX)SDK\VS2010\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;DEBUG;%(PreprocessorDefinitions);$(ExtraDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CallingConvention>StdCall</CallingConvention>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>dutil.lib;balutil.lib;comctl32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(WiX)SDK\VS2010\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<ModuleDefinitionFile>bafunctions.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(WiX)SDK\VS2010\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);$(ExtraDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CallingConvention>StdCall</CallingConvention>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>dutil.lib;balutil.lib;comctl32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(WiX)SDK\VS2010\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<ModuleDefinitionFile>bafunctions.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="WixBootstrapperBAFunction.cpp" />
|
||||||
|
<ClCompile Include="bafunctions.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="bafunctions.def" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="bafunctions.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="precomp.h" />
|
||||||
|
<ClInclude Include="resource.h" />
|
||||||
|
<ClInclude Include="IBootstrapperBAFunction.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
46
bafunctions/bafunctions.vcxproj.filters
Normal file
46
bafunctions/bafunctions.vcxproj.filters
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="bafunctions.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="WixBootstrapperBAFunction.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="bafunctions.def">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="precomp.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="resource.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="IBootstrapperBAFunction.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="bafunctions.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
12
bafunctions/bafunctionsver.h
Normal file
12
bafunctions/bafunctionsver.h
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
#ifndef _VERSION_FILE_H_
|
||||||
|
#define _VERSION_FILE_H_
|
||||||
|
|
||||||
|
#define szVerMajorMinor "1.0"
|
||||||
|
#define szVerMajorMinorBuildRev "1.0.5260.23891"
|
||||||
|
#define rmj 1
|
||||||
|
#define rmm 0
|
||||||
|
#define rbd 5260
|
||||||
|
#define rev 23891
|
||||||
|
|
||||||
|
#endif
|
||||||
25
bafunctions/build.bat
Normal file
25
bafunctions/build.bat
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
echo Configuring environment...
|
||||||
|
set MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
|
||||||
|
echo.
|
||||||
|
|
||||||
|
set outdir=%~dp0build
|
||||||
|
|
||||||
|
%MSBUILD% Version.proj
|
||||||
|
%MSBUILD% bafunctions.vcxproj /t:Rebuild /p:Configuration=Release,Platform=Win32 /p:RunCodeAnalysis=false /p:DefineConstants="TRACE" /p:OutDir="%outdir%\\" /l:FileLogger,Microsoft.Build.Engine;logfile=build.log
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Build failed
|
||||||
|
pause
|
||||||
|
goto :EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
copy build\bafunctions.dll ..\Examples /y
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
|
||||||
|
REM *****************************************************************
|
||||||
|
REM End of Main
|
||||||
|
REM *****************************************************************
|
||||||
52
bafunctions/precomp.h
Normal file
52
bafunctions/precomp.h
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="precomp.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// Precompiled header for standard bootstrapper application.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <gdiplus.h>
|
||||||
|
#include <msiquery.h>
|
||||||
|
#include <objbase.h>
|
||||||
|
#include <shlobj.h>
|
||||||
|
#include <shlwapi.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <strsafe.h>
|
||||||
|
|
||||||
|
// Standard WiX header files, include as required
|
||||||
|
#include "dutil.h"
|
||||||
|
//#include "memutil.h"
|
||||||
|
//#include "dictutil.h"
|
||||||
|
//#include "dirutil.h"
|
||||||
|
#include "fileutil.h"
|
||||||
|
//#include "locutil.h"
|
||||||
|
//#include "logutil.h"
|
||||||
|
#include "pathutil.h"
|
||||||
|
//#include "resrutil.h"
|
||||||
|
//#include "shelutil.h"
|
||||||
|
#include "strutil.h"
|
||||||
|
//#include "thmutil.h"
|
||||||
|
//#include "uriutil.h"
|
||||||
|
//#include "xmlutil.h"
|
||||||
|
#include "regutil.h"
|
||||||
|
|
||||||
|
//#include "IBootstrapperEngine.h"
|
||||||
|
//#include "IBootstrapperApplication.h"
|
||||||
|
|
||||||
|
#include "BalBaseBootstrapperApplication.h"
|
||||||
|
//#include "balinfo.h"
|
||||||
|
//#include "balcondition.h"
|
||||||
|
#include "balutil.h"
|
||||||
|
|
||||||
|
#include "IBootstrapperBAFunction.h"
|
||||||
|
|
||||||
25
bafunctions/resource.h
Normal file
25
bafunctions/resource.h
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="resource.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
//
|
||||||
|
#define IDC_STATIC -1
|
||||||
|
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1003
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
44
build.bat
Normal file
44
build.bat
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
echo Configuring environment...
|
||||||
|
set MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
|
||||||
|
echo.
|
||||||
|
|
||||||
|
set outdir=%~dp0build
|
||||||
|
|
||||||
|
echo Removing release folder...
|
||||||
|
Call :DeleteDir "%outdir%"
|
||||||
|
Call :DeleteDir "ipch"
|
||||||
|
|
||||||
|
%MSBUILD% inc\Version.proj
|
||||||
|
%MSBUILD% bafunctions\Version.proj
|
||||||
|
%MSBUILD% BalExtensionExt.sln /t:Rebuild /p:Configuration=Release /p:Platform="Mixed Platforms" /p:RunCodeAnalysis=false /p:DefineConstants="TRACE" /p:OutDir="%outdir%\\" /l:FileLogger,Microsoft.Build.Engine;logfile=build.log
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Build failed
|
||||||
|
pause
|
||||||
|
goto :EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
copy build\bafunctions.dll Examples /y
|
||||||
|
|
||||||
|
pushd Examples
|
||||||
|
Call Build
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
pause
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
|
||||||
|
REM *****************************************************************
|
||||||
|
REM End of Main
|
||||||
|
REM *****************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
REM *****************************************************************
|
||||||
|
REM Delete/create directory
|
||||||
|
REM *****************************************************************
|
||||||
|
:DeleteDir
|
||||||
|
rd %1% /q/s 2>nul 1>nul
|
||||||
|
goto :EOF
|
||||||
BIN
build/WixBalExtensionExt.dll
Normal file
BIN
build/WixBalExtensionExt.dll
Normal file
Binary file not shown.
BIN
build/balExt.wixlib
Normal file
BIN
build/balExt.wixlib
Normal file
Binary file not shown.
100
inc/Version.proj
Normal file
100
inc/Version.proj
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="WriteVersionFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||||
|
<PropertyGroup>
|
||||||
|
<MajorBuildNumber>3</MajorBuildNumber>
|
||||||
|
<MinorBuildNumber>8</MinorBuildNumber>
|
||||||
|
|
||||||
|
<CppVersionFile>.\wixver.h</CppVersionFile>
|
||||||
|
<CSharpVersionFile>.\wixver.cs</CSharpVersionFile>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<Base>$([System.DateTime]::new(2000, 1, 1))</Base>
|
||||||
|
<BuildNumber>$([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().Subtract($(Base)).TotalDays)))</BuildNumber>
|
||||||
|
<BuildRevision>$([System.Convert]::ToInt32($([MSBuild]::Divide($([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().TimeOfDay.TotalSeconds))), 2))))</BuildRevision>
|
||||||
|
|
||||||
|
<FullBuildVersionString>$(MajorBuildNumber).$(MinorBuildNumber).$(BuildNumber).$(BuildRevision)</FullBuildVersionString>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
VersionPrint
|
||||||
|
|
||||||
|
Displays the versions of this build.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="VersionPrint">
|
||||||
|
<Message Text="FullBuildVersionString = $(FullBuildVersionString)" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
WriteCppVersionFile
|
||||||
|
|
||||||
|
Creates the wixver.h version file for C++ code.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="WriteCppVersionFile"
|
||||||
|
Returns="$(CppVersionFile)">
|
||||||
|
<ItemGroup>
|
||||||
|
<CppVersionLines Include="
|
||||||
|
// <auto-generated/>
|
||||||
|
#ifndef _VERSION_FILE_H_
|
||||||
|
#define _VERSION_FILE_H_
|
||||||
|
|
||||||
|
#define szVerMajorMinor "$(MajorBuildNumber).$(MinorBuildNumber)"
|
||||||
|
#define szVerMajorMinorBuildRev "$(FullBuildVersionString)"
|
||||||
|
#define rmj $(MajorBuildNumber)
|
||||||
|
#define rmm $(MinorBuildNumber)
|
||||||
|
#define rbd $(BuildNumber)
|
||||||
|
#define rev $(BuildRevision)
|
||||||
|
#define szVerName "BalExtensionExt Release"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
"/>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<WriteLinesToFile Overwrite="true"
|
||||||
|
File="$(CppVersionFile)"
|
||||||
|
Lines="@(CppVersionLines)" />
|
||||||
|
<ItemGroup>
|
||||||
|
<FileWrites Include="$(CppVersionFile)" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
WriteCSharpVersionFile
|
||||||
|
|
||||||
|
Creates the wixver.cs version file for C# code.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="WriteCSharpVersionFile"
|
||||||
|
Returns="$(CSharpVersionFile)">
|
||||||
|
<ItemGroup>
|
||||||
|
<CSharpLines Include="
|
||||||
|
// <auto-generated/>
|
||||||
|
using System.Reflection%3B
|
||||||
|
[assembly:AssemblyVersion("$(MajorBuildNumber).0.0.0")]
|
||||||
|
[assembly:AssemblyFileVersion("$(FullBuildVersionString)")]
|
||||||
|
"/>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<WriteLinesToFile Overwrite="true"
|
||||||
|
File="$(CSharpVersionFile)"
|
||||||
|
Lines="@(CSharpLines)" />
|
||||||
|
<ItemGroup>
|
||||||
|
<FileWrites Include="$(CSharpVersionFile)" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
================================================================================================
|
||||||
|
WriteVersionFiles
|
||||||
|
|
||||||
|
Creates the wixver.* version files.
|
||||||
|
================================================================================================
|
||||||
|
-->
|
||||||
|
<Target Name="WriteVersionFiles" DependsOnTargets="VersionPrint;WriteCppVersionFile;WriteCSharpVersionFile" />
|
||||||
|
|
||||||
|
</Project>
|
||||||
13
inc/WixDistribution.cs
Normal file
13
inc/WixDistribution.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Resources;
|
||||||
|
|
||||||
|
[assembly: AssemblyCompany("Outercurve Foundation")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation. All rights reserved.")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
#if DEBUG
|
||||||
|
[assembly: AssemblyConfiguration("DEBUG")]
|
||||||
|
#else
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
#endif
|
||||||
|
[assembly: NeutralResourcesLanguage("en-US")]
|
||||||
|
[assembly: AssemblyProduct("Windows Installer XML")]
|
||||||
17
inc/WixDistribution.h
Normal file
17
inc/WixDistribution.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
/* **************************************************************************
|
||||||
|
* WixDistribution.h file contains disribution specific items, such as
|
||||||
|
* Product Name.
|
||||||
|
*
|
||||||
|
* **************************************************************************/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef __WIXDISTRIBUTION_FILE_H_
|
||||||
|
#define __WIXDISTRIBUTION_FILE_H_
|
||||||
|
|
||||||
|
#ifdef VER_PRODUCT_NAME
|
||||||
|
#undef VER_PRODUCT_NAME
|
||||||
|
#endif
|
||||||
|
#define VER_PRODUCT_NAME "Windows Installer XML"
|
||||||
|
|
||||||
|
#endif // __WIXDISTRIBUTION_FILE_H_
|
||||||
140
inc/wix.rc
Normal file
140
inc/wix.rc
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="wix.rc" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// Common resource file for any native wix resources.
|
||||||
|
// </summary>
|
||||||
|
// <remarks>
|
||||||
|
// Usage:
|
||||||
|
// #define VER_APP (VER_DLL, VER_TYPELIB, none)
|
||||||
|
// #define VER_LANG_NEUTRAL (optional)
|
||||||
|
// #define VER_ORIGINAL_FILENAME "FooBar.Exe"
|
||||||
|
// #define VER_INTERNAL_NAME "FooBar"
|
||||||
|
// #define VER_PRODUCT_NAME
|
||||||
|
// #define VER_FILE_DESCRIPTION
|
||||||
|
// #include "wix.rc"
|
||||||
|
//
|
||||||
|
// Optional to add before the #include (must add as a group and VER_BLOCK must match to VER_LANG and VER_CP)
|
||||||
|
// You should not have to do this except for some extreme cases.
|
||||||
|
// #define VER_LANG 0x0000
|
||||||
|
// #define VER_CP 0x04E4
|
||||||
|
// #define VER_BLOCK "000004E4"
|
||||||
|
// </remarks>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <winver.h>
|
||||||
|
#include <windows.h>
|
||||||
|
#include "wixver.h"
|
||||||
|
#include "WixDistribution.h"
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
#define VER_DEBUG VS_FF_DEBUG
|
||||||
|
#define VER_PRIVATE_BUILD VS_FF_PRIVATEBUILD
|
||||||
|
#define VER_PRE_RELEASE (VS_FF_PRERELEASE | VS_FF_SPECIALBUILD)
|
||||||
|
#else
|
||||||
|
#define VER_DEBUG 0
|
||||||
|
#define VER_PRIVATE_BUILD 0
|
||||||
|
#define VER_PRE_RELEASE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_APP)
|
||||||
|
#define VER_FILE_TYPE VFT_APP
|
||||||
|
#elif defined(VER_DLL)
|
||||||
|
#define VER_FILE_TYPE VFT_DLL
|
||||||
|
#elif defined(VER_TYPELIB)
|
||||||
|
#define VER_FILE_TYPE VFT_UNKNOWN
|
||||||
|
#else
|
||||||
|
#define VER_FILE_TYPE VFT_UNKNOWN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_LANG_NEUTRAL)
|
||||||
|
#ifndef VER_LANG
|
||||||
|
#define VER_LANG 0x0000
|
||||||
|
#endif
|
||||||
|
#ifndef VER_CP
|
||||||
|
#define VER_CP 0x04E4
|
||||||
|
#endif
|
||||||
|
#ifndef VER_BLOCK
|
||||||
|
#define VER_BLOCK "000004E4"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifndef VER_LANG
|
||||||
|
#define VER_LANG 0x0409
|
||||||
|
#endif
|
||||||
|
#ifndef VER_CP
|
||||||
|
#define VER_CP 0x04E4
|
||||||
|
#endif
|
||||||
|
#ifndef VER_BLOCK
|
||||||
|
#define VER_BLOCK "040904E4"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define VER_FILE_VERSION rmj, rmm, rbd, rev
|
||||||
|
#define VER_PRODUCT_VERSION rmj, rmm, rbd, rev
|
||||||
|
#define VER_FILE_VERSION_STRING szVerMajorMinorBuildRev
|
||||||
|
#define VER_PRODUCT_VERSION_STRING VER_FILE_VERSION_STRING
|
||||||
|
#define VER_FILE_FLAGS_MASK VS_FFI_FILEFLAGSMASK
|
||||||
|
#define VER_FILE_FLAGS (VER_DEBUG | VER_PRIVATE_BUILD | VER_PRE_RELEASE)
|
||||||
|
|
||||||
|
#define VER_FILE_OS VOS__WINDOWS32
|
||||||
|
|
||||||
|
#define VER_COMPANY_NAME "Outercurve Foundation"
|
||||||
|
#ifndef VER_PRODUCT_NAME
|
||||||
|
#define VER_PRODUCT_NAME "Windows Installer XML (WiX)"
|
||||||
|
#endif
|
||||||
|
#ifndef VER_FILE_DESCRIPTION
|
||||||
|
#define VER_FILE_DESCRIPTION "Windows Installer XML (WiX) component"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(VER_LEGAL_COPYRIGHT)
|
||||||
|
#error
|
||||||
|
#endif
|
||||||
|
#define VER_LEGAL_COPYRIGHT "Copyright (c) Outercurve Foundation.\240 All rights reserved."
|
||||||
|
|
||||||
|
#if !defined(VER_FILE_SUBTYPE)
|
||||||
|
#define VER_FILE_SUBTYPE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RC_INVOKED
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION VER_FILE_VERSION
|
||||||
|
PRODUCTVERSION VER_PRODUCT_VERSION
|
||||||
|
FILEFLAGSMASK VER_FILE_FLAGS_MASK
|
||||||
|
FILEFLAGS VER_FILE_FLAGS
|
||||||
|
FILEOS VER_FILE_OS
|
||||||
|
FILETYPE VER_FILE_TYPE
|
||||||
|
FILESUBTYPE VER_FILE_SUBTYPE
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK VER_BLOCK
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", VER_COMPANY_NAME
|
||||||
|
VALUE "FileDescription", VER_FILE_DESCRIPTION
|
||||||
|
VALUE "FileVersion", VER_FILE_VERSION_STRING
|
||||||
|
VALUE "InternalName", VER_INTERNAL_NAME
|
||||||
|
|
||||||
|
VALUE "LegalCopyright", VER_LEGAL_COPYRIGHT
|
||||||
|
|
||||||
|
VALUE "OriginalFilename", VER_ORIGINAL_FILENAME
|
||||||
|
VALUE "ProductName", VER_PRODUCT_NAME
|
||||||
|
VALUE "ProductVersion", VER_FILE_VERSION_STRING
|
||||||
|
#if defined(DEBUG)
|
||||||
|
VALUE "WiX Common Resource Format", "Debug Only"
|
||||||
|
#endif
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", VER_LANG, VER_CP
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif
|
||||||
4
inc/wixver.cs
Normal file
4
inc/wixver.cs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly:AssemblyVersion("3.0.0.0")]
|
||||||
|
[assembly:AssemblyFileVersion("3.8.5260.23891")]
|
||||||
13
inc/wixver.h
Normal file
13
inc/wixver.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
#ifndef _VERSION_FILE_H_
|
||||||
|
#define _VERSION_FILE_H_
|
||||||
|
|
||||||
|
#define szVerMajorMinor "3.8"
|
||||||
|
#define szVerMajorMinorBuildRev "3.8.5260.23891"
|
||||||
|
#define rmj 3
|
||||||
|
#define rmm 8
|
||||||
|
#define rbd 5260
|
||||||
|
#define rev 23891
|
||||||
|
#define szVerName "BalExtensionExt Release"
|
||||||
|
|
||||||
|
#endif
|
||||||
373
wixext/BalCompiler.cs
Normal file
373
wixext/BalCompiler.cs
Normal file
@@ -0,0 +1,373 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="BalCompiler.cs" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// The compiler for the Windows Installer XML Toolset Bal Extension.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Microsoft.Tools.WindowsInstallerXml.Extensions
|
||||||
|
{
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Xml;
|
||||||
|
using System.Xml.Schema;
|
||||||
|
using Microsoft.Tools.WindowsInstallerXml;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The compiler for the Windows Installer XML Toolset Bal Extension.
|
||||||
|
/// </summary>
|
||||||
|
public sealed class BalCompiler : CompilerExtension
|
||||||
|
{
|
||||||
|
private SourceLineNumberCollection addedConditionLineNumber;
|
||||||
|
private XmlSchema schema;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Instantiate a new BalCompiler.
|
||||||
|
/// </summary>
|
||||||
|
public BalCompiler()
|
||||||
|
{
|
||||||
|
this.addedConditionLineNumber = null;
|
||||||
|
this.schema = LoadXmlSchemaHelper(Assembly.GetExecutingAssembly(), "Microsoft.Tools.WindowsInstallerXml.Extensions.Xsd.bal.xsd");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the schema for this extension.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>Schema for this extension.</value>
|
||||||
|
public override XmlSchema Schema
|
||||||
|
{
|
||||||
|
get { return this.schema; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Processes an element for the Compiler.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sourceLineNumbers">Source line number for the parent element.</param>
|
||||||
|
/// <param name="parentElement">Parent element of element to process.</param>
|
||||||
|
/// <param name="element">Element to process.</param>
|
||||||
|
/// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
|
||||||
|
public override void ParseElement(SourceLineNumberCollection sourceLineNumbers, XmlElement parentElement, XmlElement element, params string[] contextValues)
|
||||||
|
{
|
||||||
|
switch (parentElement.LocalName)
|
||||||
|
{
|
||||||
|
case "Bundle":
|
||||||
|
case "Fragment":
|
||||||
|
switch (element.LocalName)
|
||||||
|
{
|
||||||
|
case "Condition":
|
||||||
|
this.ParseConditionElement(element);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.Core.UnexpectedElement(parentElement, element);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "BootstrapperApplicationRef":
|
||||||
|
switch (element.LocalName)
|
||||||
|
{
|
||||||
|
case "WixExtendedBootstrapperApplication":
|
||||||
|
this.ParseWixExtendedBootstrapperApplicationElement(element);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.Core.UnexpectedElement(parentElement, element);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.Core.UnexpectedElement(parentElement, element);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Processes an attribute for the Compiler.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sourceLineNumbers">Source line number for the parent element.</param>
|
||||||
|
/// <param name="parentElement">Parent element of element to process.</param>
|
||||||
|
/// <param name="attribute">Attribute to process.</param>
|
||||||
|
/// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
|
||||||
|
public override void ParseAttribute(SourceLineNumberCollection sourceLineNumbers, XmlElement parentElement, XmlAttribute attribute, Dictionary<string, string> contextValues)
|
||||||
|
{
|
||||||
|
switch (parentElement.LocalName)
|
||||||
|
{
|
||||||
|
case "Variable":
|
||||||
|
// at the time the extension attribute is parsed, the compiler might not yet have
|
||||||
|
// parsed the Name attribute, so we need to get it directly from the parent element.
|
||||||
|
string variableName = parentElement.GetAttribute("Name");
|
||||||
|
if (String.IsNullOrEmpty(variableName))
|
||||||
|
{
|
||||||
|
this.Core.OnMessage(WixErrors.ExpectedParentWithAttribute(sourceLineNumbers, "Variable", "Overridable", "Name"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (attribute.LocalName)
|
||||||
|
{
|
||||||
|
case "Overridable":
|
||||||
|
if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attribute))
|
||||||
|
{
|
||||||
|
Row row = this.Core.CreateRow(sourceLineNumbers, "WixStdbaOverridableVariable");
|
||||||
|
row[0] = variableName;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.Core.UnexpectedAttribute(sourceLineNumbers, attribute);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.Core.UnexpectedAttribute(sourceLineNumbers, attribute);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Parses a Condition element for Bundles.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="node">The element to parse.</param>
|
||||||
|
private void ParseConditionElement(XmlNode node)
|
||||||
|
{
|
||||||
|
SourceLineNumberCollection sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
|
||||||
|
string condition = CompilerCore.GetConditionInnerText(node); // condition is the inner text of the element.
|
||||||
|
string message = null;
|
||||||
|
|
||||||
|
foreach (XmlAttribute attrib in node.Attributes)
|
||||||
|
{
|
||||||
|
if (0 == attrib.NamespaceURI.Length || attrib.NamespaceURI == this.schema.TargetNamespace)
|
||||||
|
{
|
||||||
|
switch (attrib.LocalName)
|
||||||
|
{
|
||||||
|
case "Message":
|
||||||
|
message = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.Core.UnexpectedAttribute(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Core.UnsupportedExtensionAttribute(sourceLineNumbers, attrib);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (XmlNode child in node.ChildNodes)
|
||||||
|
{
|
||||||
|
if (XmlNodeType.Element == child.NodeType)
|
||||||
|
{
|
||||||
|
if (child.NamespaceURI == this.schema.TargetNamespace)
|
||||||
|
{
|
||||||
|
this.Core.UnexpectedElement(node, child);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Core.UnsupportedExtensionElement(node, child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error check the values.
|
||||||
|
if (String.IsNullOrEmpty(condition))
|
||||||
|
{
|
||||||
|
this.Core.OnMessage(WixErrors.ConditionExpected(sourceLineNumbers, node.Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null == message)
|
||||||
|
{
|
||||||
|
this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name, "Message"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.Core.EncounteredError)
|
||||||
|
{
|
||||||
|
Row row = this.Core.CreateRow(sourceLineNumbers, "WixBalCondition");
|
||||||
|
row[0] = condition;
|
||||||
|
row[1] = message;
|
||||||
|
|
||||||
|
if (null == this.addedConditionLineNumber)
|
||||||
|
{
|
||||||
|
this.addedConditionLineNumber = sourceLineNumbers;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Parses a WixExtendedBootstrapperApplication element for Bundles.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="node">The element to parse.</param>
|
||||||
|
private void ParseWixExtendedBootstrapperApplicationElement(XmlNode node)
|
||||||
|
{
|
||||||
|
SourceLineNumberCollection sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
|
||||||
|
string launchTarget = null;
|
||||||
|
string licenseFile = null;
|
||||||
|
string licenseUrl = null;
|
||||||
|
string logoFile = null;
|
||||||
|
string logoSideFile = null;
|
||||||
|
string themeFile = null;
|
||||||
|
string localizationFile = null;
|
||||||
|
YesNoType suppressOptionsUI = YesNoType.NotSet;
|
||||||
|
YesNoType suppressDowngradeFailure = YesNoType.NotSet;
|
||||||
|
YesNoType suppressRepair = YesNoType.NotSet;
|
||||||
|
YesNoType showVersion = YesNoType.NotSet;
|
||||||
|
YesNoType launchPassive = YesNoType.NotSet;
|
||||||
|
YesNoType launchQuiet = YesNoType.NotSet;
|
||||||
|
|
||||||
|
foreach (XmlAttribute attrib in node.Attributes)
|
||||||
|
{
|
||||||
|
if (0 == attrib.NamespaceURI.Length || attrib.NamespaceURI == this.schema.TargetNamespace)
|
||||||
|
{
|
||||||
|
switch (attrib.LocalName)
|
||||||
|
{
|
||||||
|
case "LaunchTarget":
|
||||||
|
launchTarget = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false);
|
||||||
|
break;
|
||||||
|
case "LicenseFile":
|
||||||
|
licenseFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false);
|
||||||
|
break;
|
||||||
|
case "LicenseUrl":
|
||||||
|
licenseUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib, true);
|
||||||
|
break;
|
||||||
|
case "LogoFile":
|
||||||
|
logoFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false);
|
||||||
|
break;
|
||||||
|
case "LogoSideFile":
|
||||||
|
logoSideFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false);
|
||||||
|
break;
|
||||||
|
case "ThemeFile":
|
||||||
|
themeFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false);
|
||||||
|
break;
|
||||||
|
case "LocalizationFile":
|
||||||
|
localizationFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false);
|
||||||
|
break;
|
||||||
|
case "SuppressOptionsUI":
|
||||||
|
suppressOptionsUI = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
case "LaunchPassive":
|
||||||
|
launchPassive = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
case "LaunchQuiet":
|
||||||
|
launchQuiet = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
case "SuppressDowngradeFailure":
|
||||||
|
suppressDowngradeFailure = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
case "SuppressRepair":
|
||||||
|
suppressRepair = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
case "ShowVersion":
|
||||||
|
showVersion = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.Core.UnexpectedAttribute(sourceLineNumbers, attrib);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Core.UnsupportedExtensionAttribute(sourceLineNumbers, attrib);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (XmlNode child in node.ChildNodes)
|
||||||
|
{
|
||||||
|
if (XmlNodeType.Element == child.NodeType)
|
||||||
|
{
|
||||||
|
if (child.NamespaceURI == this.schema.TargetNamespace)
|
||||||
|
{
|
||||||
|
this.Core.UnexpectedElement(node, child);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Core.UnsupportedExtensionElement(node, child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (String.IsNullOrEmpty(licenseFile) && null == licenseUrl)
|
||||||
|
{
|
||||||
|
this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name, "LicenseFile", "LicenseUrl", true));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.Core.EncounteredError)
|
||||||
|
{
|
||||||
|
if (!String.IsNullOrEmpty(launchTarget))
|
||||||
|
{
|
||||||
|
this.Core.CreateVariableRow(sourceLineNumbers, "LaunchTarget", launchTarget, "string", false, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!String.IsNullOrEmpty(licenseFile))
|
||||||
|
{
|
||||||
|
this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLicenseRtf", licenseFile, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null != licenseUrl)
|
||||||
|
{
|
||||||
|
this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLicenseUrl", licenseUrl, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!String.IsNullOrEmpty(logoFile))
|
||||||
|
{
|
||||||
|
this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLogo", logoFile, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!String.IsNullOrEmpty(logoSideFile))
|
||||||
|
{
|
||||||
|
this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLogoSide", logoSideFile, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!String.IsNullOrEmpty(themeFile))
|
||||||
|
{
|
||||||
|
this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaThemeXml", themeFile, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!String.IsNullOrEmpty(localizationFile))
|
||||||
|
{
|
||||||
|
this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaThemeWxl", localizationFile, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YesNoType.Yes == suppressOptionsUI || YesNoType.Yes == suppressDowngradeFailure || YesNoType.Yes == suppressRepair)
|
||||||
|
{
|
||||||
|
Row row = this.Core.CreateRow(sourceLineNumbers, "WixExtbaOptions");
|
||||||
|
if (YesNoType.Yes == suppressOptionsUI)
|
||||||
|
{
|
||||||
|
row[0] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YesNoType.Yes == suppressDowngradeFailure)
|
||||||
|
{
|
||||||
|
row[1] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YesNoType.Yes == suppressRepair)
|
||||||
|
{
|
||||||
|
row[2] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YesNoType.Yes == showVersion)
|
||||||
|
{
|
||||||
|
row[3] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YesNoType.Yes == launchPassive)
|
||||||
|
{
|
||||||
|
row[4] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YesNoType.Yes == launchQuiet)
|
||||||
|
{
|
||||||
|
row[5] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
96
wixext/BalExtension.cs
Normal file
96
wixext/BalExtension.cs
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="BalExtension.cs" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// The Windows Installer XML Toolset Bal extension.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Microsoft.Tools.WindowsInstallerXml.Extensions
|
||||||
|
{
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The Windows Installer XML Toolset Bal Extension.
|
||||||
|
/// </summary>
|
||||||
|
public sealed class BalExtension : WixExtension
|
||||||
|
{
|
||||||
|
private BalCompiler compilerExtension;
|
||||||
|
private Library library;
|
||||||
|
private TableDefinitionCollection tableDefinitions;
|
||||||
|
|
||||||
|
private BalPreprocessorExtension preprocessorExtension;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the optional compiler extension.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The optional compiler extension.</value>
|
||||||
|
public override CompilerExtension CompilerExtension
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (null == this.compilerExtension)
|
||||||
|
{
|
||||||
|
this.compilerExtension = new BalCompiler();
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.compilerExtension;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the optional table definitions for this extension.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The optional table definitions for this extension.</value>
|
||||||
|
public override TableDefinitionCollection TableDefinitions
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (null == this.tableDefinitions)
|
||||||
|
{
|
||||||
|
this.tableDefinitions = LoadTableDefinitionHelper(Assembly.GetExecutingAssembly(), "Microsoft.Tools.WindowsInstallerXml.Extensions.Data.tables.xml");
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.tableDefinitions;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the library associated with this extension.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="tableDefinitions">The table definitions to use while loading the library.</param>
|
||||||
|
/// <returns>The loaded library.</returns>
|
||||||
|
public override Library GetLibrary(TableDefinitionCollection tableDefinitions)
|
||||||
|
{
|
||||||
|
if (null == this.library)
|
||||||
|
{
|
||||||
|
this.library = LoadLibraryHelper(Assembly.GetExecutingAssembly(), "Microsoft.Tools.WindowsInstallerXml.Extensions.Data.balExt.wixlib", tableDefinitions);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.library;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the optional preprocessor extension.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The optional preprocessor extension.</value>
|
||||||
|
public override PreprocessorExtension PreprocessorExtension
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (null == this.preprocessorExtension)
|
||||||
|
{
|
||||||
|
this.preprocessorExtension = new BalPreprocessorExtension();
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.preprocessorExtension;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
63
wixext/BalPreprocessorExtension.cs
Normal file
63
wixext/BalPreprocessorExtension.cs
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="ValuePreprocessorExtension.cs" company="">
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// A WiX preprocessor extension.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Microsoft.Tools.WindowsInstallerXml.Extensions
|
||||||
|
{
|
||||||
|
using System;
|
||||||
|
using Microsoft.Tools.WindowsInstallerXml;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The preprocessor extension.
|
||||||
|
/// </summary>
|
||||||
|
public sealed class BalPreprocessorExtension : PreprocessorExtension
|
||||||
|
{
|
||||||
|
private static readonly string[] prefixes = {"bal"};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the variable prefixes for this extension.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The variable prefixes for this extension.</value>
|
||||||
|
public override string[] Prefixes
|
||||||
|
{
|
||||||
|
get { return prefixes; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string EvaluateFunction(string prefix, string function, string[] args)
|
||||||
|
{
|
||||||
|
string result = null;
|
||||||
|
|
||||||
|
switch (prefix)
|
||||||
|
{
|
||||||
|
case "bal":
|
||||||
|
switch (function)
|
||||||
|
{
|
||||||
|
case "Version":
|
||||||
|
// Make sure the base version is specified
|
||||||
|
if (args.Length == 0 || args[0].Length == 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Version template not specified");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build = days since 1/1/2000; Revision = seconds since midnight / 2
|
||||||
|
DateTime now = DateTime.Now.ToUniversalTime();
|
||||||
|
double build = (now - new DateTime(2000, 1, 1)).TotalDays;
|
||||||
|
double revision = now.TimeOfDay.TotalSeconds / 2;
|
||||||
|
|
||||||
|
result = String.Format("{0}.{1}.{2}", args[0], (int)build, (int)revision);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
27
wixext/Properties/AssemblyInfo.cs
Normal file
27
wixext/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file LICENSE.TXT
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// The assembly information for the Windows Installer XML Toolset Bootstrapper Application Layer Extension.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
using Microsoft.Tools.WindowsInstallerXml;
|
||||||
|
using Microsoft.Tools.WindowsInstallerXml.Extensions;
|
||||||
|
|
||||||
|
[assembly: AssemblyTitle("WiX Toolset Bootstrapper Application Layer Extension")]
|
||||||
|
[assembly: AssemblyDescription("Windows Installer XML Toolset Bootstrapper Application Layer Extension")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
[assembly: CLSCompliant(true)]
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
[assembly: AssemblyDefaultWixExtension(typeof(BalExtension))]
|
||||||
88
wixext/WixBalExtensionExt.csproj
Normal file
88
wixext/WixBalExtensionExt.csproj
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="WixBalExtension.csproj" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProductVersion>8.0.30703</ProductVersion>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
<ProjectGuid>{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>Microsoft.Tools.WindowsInstallerXml.Extensions</RootNamespace>
|
||||||
|
<AssemblyName>WixBalExtensionExt</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="wix, Version=3.0.0.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>$(WIX)bin\wix.dll</HintPath>
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="..\inc\WixDistribution.cs">
|
||||||
|
<Link>Properties\WixDistribution.cs</Link>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="..\inc\wixver.cs">
|
||||||
|
<Link>Properties\wixver.cs</Link>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="BalCompiler.cs" />
|
||||||
|
<Compile Include="BalExtension.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="BalPreprocessorExtension.cs" />
|
||||||
|
<MsgGenSource Include="Data\messages.xml">
|
||||||
|
<ResourcesLogicalName>$(RootNamespace).Data.Messages.resources</ResourcesLogicalName>
|
||||||
|
</MsgGenSource>
|
||||||
|
<EmbeddedResource Include="Data\tables.xml">
|
||||||
|
<LogicalName>$(RootNamespace).Data.tables.xml</LogicalName>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Xsd\bal.xsd">
|
||||||
|
<LogicalName>$(RootNamespace).Xsd.bal.xsd</LogicalName>
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<XsdGenSource Include="Xsd\bal.xsd">
|
||||||
|
<CommonNamespace>Microsoft.Tools.WindowsInstallerXml.Serialize</CommonNamespace>
|
||||||
|
<Namespace>Microsoft.Tools.WindowsInstallerXml.Extensions.Serialize.Bal</Namespace>
|
||||||
|
</XsdGenSource>
|
||||||
|
<EmbeddedResource Include="..\build\balExt.wixlib">
|
||||||
|
<Link>Data\balExt.wixlib</Link>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
154
wixext/Xsd/bal.xsd
Normal file
154
wixext/Xsd/bal.xsd
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="bal.xsd" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
targetNamespace="http://schemas.microsoft.com/wix/BalExtension"
|
||||||
|
xmlns="http://schemas.microsoft.com/wix/BalExtension">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
The source code schema for the Windows Installer XML Toolset Burn User Experience Extension.
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
|
||||||
|
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||||
|
|
||||||
|
<xs:element name="Condition">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
Conditions for a bundle. The condition is specified in the inner text of the element.
|
||||||
|
</xs:documentation>
|
||||||
|
<xs:appinfo>
|
||||||
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
|
||||||
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:simpleContent>
|
||||||
|
<xs:extension base="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
The condition that must evaluate to true for the installation to continue.
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="Message" type="xs:string" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
Set the value to the text to display when the condition fails and the installation must be terminated.
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:extension>
|
||||||
|
</xs:simpleContent>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
|
||||||
|
<xs:element name="WixExtendedBootstrapperApplication">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
Configures WixExtendedBootstrapperApplication for a Bundle.
|
||||||
|
</xs:documentation>
|
||||||
|
<xs:appinfo>
|
||||||
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="BootstrapperApplicationRef" />
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="LaunchTarget" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>If set, the success page will show a Launch button the user can use to launch the application being installed. The string value can be formatted using Burn variables enclosed in brackets, to refer to installation directories and so forth.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LicenseFile" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LicenseUrl" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>URL target of the license link. Cannot be used simultaneously with LicenseFile. This attribute can be empty to hide the license link completely.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LogoFile" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Source file of the logo graphic.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LogoSideFile" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Source file of the side logo graphic.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="ThemeFile" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Source file of the theme XML.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LocalizationFile" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Source file of the theme localization .wxl file.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="SuppressOptionsUI" type="YesNoType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>If set to "yes", the Options button will not be shown and the user will not be able to choose an installation directory.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LaunchPassive" type="YesNoType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>If set to "yes", the LaunchTarget option will be executed automatically at the end of a passive install.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LaunchQuiet" type="YesNoType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>If set to "yes", the LaunchTarget option will be executed automatically at the end of a quiet install.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="SuppressDowngradeFailure" type="YesNoType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>If set to "yes", attempting to installer a downgraded version of a bundle will be treated as a successful do-nothing operation.
|
||||||
|
The default behavior (or when explicitly set to "no") is to treat downgrade attempts as failures. </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="SuppressRepair" type="YesNoType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>If set to "yes", the Repair button will not be shown in the maintenance-mode UI.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="ShowVersion" type="YesNoType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>If set to "yes", the application version will be displayed on the UI.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
|
||||||
|
<xs:attribute name="Overridable">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
When set to "yes", lets the user override the variable's default value by specifying another value on the command line,
|
||||||
|
in the form Variable=Value. Otherwise, WixStdBA won't overwrite the default value and will log
|
||||||
|
"Ignoring attempt to set non-overridable variable: 'BAR'."
|
||||||
|
</xs:documentation>
|
||||||
|
<xs:appinfo>
|
||||||
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Variable" />
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
|
||||||
|
<xs:simpleType name="YesNoType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:NMTOKEN">
|
||||||
|
<xs:enumeration value="no"/>
|
||||||
|
<xs:enumeration value="yes"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:schema>
|
||||||
16
wixext/data/messages.xml
Normal file
16
wixext/data/messages.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="messages.xml" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
The messages for the Windows Installer XML Toolset Bal Extension.
|
||||||
|
-->
|
||||||
|
<Messages Namespace="Microsoft.Tools.WindowsInstallerXml.Extensions" Resources="Data.Messages" xmlns="http://schemas.microsoft.com/genmsgs/2004/07/messages">
|
||||||
|
<Class Name="BalErrors" ContainerName="BalErrorEventArgs" BaseContainerName="WixErrorEventArgs">
|
||||||
|
</Class>
|
||||||
|
</Messages>
|
||||||
40
wixext/data/tables.xml
Normal file
40
wixext/data/tables.xml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="tables.xml" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
The table definitions for the Windows Installer XML Toolset Bal Extension.
|
||||||
|
-->
|
||||||
|
<tableDefinitions xmlns="http://schemas.microsoft.com/wix/2006/tables">
|
||||||
|
<tableDefinition name="WixBalCondition" bootstrapperApplicationData="yes">
|
||||||
|
<columnDefinition name="Condition" type="string" length="255" primaryKey="yes" localizable="yes"
|
||||||
|
category="condition" description="Expression which must evaluate to TRUE in order for install to commence."/>
|
||||||
|
<columnDefinition name="Message" type="localized" length="255" escapeIdtCharacters="yes"
|
||||||
|
category="formatted" description="Localizable text to display when condition fails and install must abort."/>
|
||||||
|
</tableDefinition>
|
||||||
|
|
||||||
|
<tableDefinition name="WixExtbaOptions" bootstrapperApplicationData="yes">
|
||||||
|
<columnDefinition name="SuppressOptionsUI" type="number" length="2" nullable="yes"
|
||||||
|
maxValue="1" description="If 1, don't show Options button during install."/>
|
||||||
|
<columnDefinition name="SuppressDowngradeFailure" type="number" length="2" nullable="yes"
|
||||||
|
maxValue="1" description="If 1, attempts to downgrade are treated as a successful no-op."/>
|
||||||
|
<columnDefinition name="SuppressRepair" type="number" length="2" nullable="yes"
|
||||||
|
maxValue="1" description="If 1, don't show Repair button during maintenance."/>
|
||||||
|
<columnDefinition name="ShowVersion" type="number" length="2" nullable="yes"
|
||||||
|
maxValue="1" description="If 1, show the version number on the UI."/>
|
||||||
|
<columnDefinition name="LaunchPassive" type="number" length="2" nullable="yes"
|
||||||
|
maxValue="1" description="If 1, execute LaunchTarget automatically during passive install."/>
|
||||||
|
<columnDefinition name="LaunchQuiet" type="number" length="2" nullable="yes"
|
||||||
|
maxValue="1" description="If 1, execute LaunchTarget automatically during quiet install."/>
|
||||||
|
</tableDefinition>
|
||||||
|
|
||||||
|
<tableDefinition name="WixStdbaOverridableVariable" bootstrapperApplicationData="yes">
|
||||||
|
<columnDefinition name="Name" type="string" length="255" primaryKey="yes"
|
||||||
|
category="identifier" description="Variable name user can override."/>
|
||||||
|
</tableDefinition>
|
||||||
|
</tableDefinitions>
|
||||||
48
wixlib/BalExtension.wixproj
Normal file
48
wixlib/BalExtension.wixproj
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<!--
|
||||||
|
<copyright file="BalExtension.wixproj" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{3444d952-f21c-496f-ab6b-56435bfd0787}</ProjectGuid>
|
||||||
|
<OutputName>balExt</OutputName>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<BindFiles>True</BindFiles>
|
||||||
|
<Pedantic>True</Pedantic>
|
||||||
|
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
|
||||||
|
<Cultures>en-us</Cultures>
|
||||||
|
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
|
||||||
|
<OutputPath>$(Configuration)\$(Platform)</OutputPath>
|
||||||
|
<LibBindFiles>True</LibBindFiles>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||||
|
<OutputPath>..\build\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||||
|
<OutputPath>..\build\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="BalExtension.wxs" />
|
||||||
|
<Compile Include="wixstdba.wxs" />
|
||||||
|
<Compile Include="wixstdba_x86.wxs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="wixstdba_platform.wxi" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\wixstdba\wixstdba.vcxproj">
|
||||||
|
<Name>wixextba</Name>
|
||||||
|
<Project>{41085a22-e6aa-4e8b-ab1b-ddee0dc89dfa}</Project>
|
||||||
|
<Private>True</Private>
|
||||||
|
<DoNotHarvest>True</DoNotHarvest>
|
||||||
|
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
|
||||||
|
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(WixTargetsPath)" />
|
||||||
|
</Project>
|
||||||
13
wixlib/BalExtension.wxs
Normal file
13
wixlib/BalExtension.wxs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="BalExtension.wxs" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
|
<Fragment>
|
||||||
|
</Fragment>
|
||||||
|
</Wix>
|
||||||
66
wixlib/wixstdba.wxs
Normal file
66
wixlib/wixstdba.wxs
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<!--
|
||||||
|
<copyright file="wixstdba.wxs" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
|
||||||
|
<!-- RTF License Payload Group -->
|
||||||
|
<Fragment>
|
||||||
|
<PayloadGroup Id='WixExtbaRtfLicensePayloads'>
|
||||||
|
<Payload Name='thm.xml' Compressed='yes' SourceFile='!(wix.WixExtbaThemeXml=$(var.wixextba.ProjectDir)Resources\RtfTheme.xml)' />
|
||||||
|
<Payload Name='thm.wxl' Compressed='yes' SourceFile='!(wix.WixExtbaThemeWxl=$(var.wixextba.ProjectDir)Resources\RtfTheme.wxl)' />
|
||||||
|
<Payload Name='Logo.png' Compressed='yes' SourceFile='!(wix.WixExtbaLogo=$(var.wixextba.ProjectDir)Resources\Logo.png)' />
|
||||||
|
|
||||||
|
<Payload Name='!(wix.WixExtbaLicenseRtfName=license.rtf)' Compressed='yes' SourceFile='!(wix.WixExtbaLicenseRtf=$(var.wixextba.ProjectDir)Resources\LoremIpsumLicense.rtf)' />
|
||||||
|
</PayloadGroup>
|
||||||
|
|
||||||
|
<CustomTable Id='WixExtbaInformation'>
|
||||||
|
<Row>
|
||||||
|
<Data Column='LicenseFile'>!(wix.WixExtbaLicenseRtfName=license.rtf)</Data>
|
||||||
|
</Row>
|
||||||
|
</CustomTable>
|
||||||
|
</Fragment>
|
||||||
|
|
||||||
|
<!-- Hyperlink License Payload Group -->
|
||||||
|
<Fragment>
|
||||||
|
<PayloadGroup Id='WixExtbaHyperlinkLicensePayloads'>
|
||||||
|
<Payload Name='thm.xml' Compressed='yes' SourceFile='!(wix.WixExtbaThemeXml=$(var.wixextba.ProjectDir)Resources\HyperlinkTheme.xml)' />
|
||||||
|
<Payload Name='thm.wxl' Compressed='yes' SourceFile='!(wix.WixExtbaThemeWxl=$(var.wixextba.ProjectDir)Resources\HyperlinkTheme.wxl)' />
|
||||||
|
<Payload Name='Logo.png' Compressed='yes' SourceFile='!(wix.WixExtbaLogo=$(var.wixextba.ProjectDir)Resources\Logo.png)' />
|
||||||
|
</PayloadGroup>
|
||||||
|
|
||||||
|
<CustomTable Id='WixExtbaInformation'>
|
||||||
|
<Row>
|
||||||
|
<Data Column='LicenseUrl'>!(wix.WixExtbaLicenseUrl)</Data>
|
||||||
|
</Row>
|
||||||
|
</CustomTable>
|
||||||
|
</Fragment>
|
||||||
|
|
||||||
|
<!-- Hyperlink2 License Payload Group -->
|
||||||
|
<Fragment>
|
||||||
|
<PayloadGroup Id='WixExtbaHyperlink2LicensePayloads'>
|
||||||
|
<Payload Name='thm.xml' Compressed='yes' SourceFile='!(wix.WixExtbaThemeXml=$(var.wixextba.ProjectDir)Resources\Hyperlink2Theme.xml)' />
|
||||||
|
<Payload Name='thm.wxl' Compressed='yes' SourceFile='!(wix.WixExtbaThemeWxl=$(var.wixextba.ProjectDir)Resources\HyperlinkTheme.wxl)' />
|
||||||
|
<Payload Name='LogoSide.png' Compressed='yes' SourceFile='!(wix.WixExtbaLogoSide=$(var.wixextba.ProjectDir)Resources\LogoSide.png)' />
|
||||||
|
<Payload Name='Logo.png' Compressed='yes' SourceFile='!(wix.WixExtbaLogo=$(var.wixextba.ProjectDir)Resources\Logo.png)' />
|
||||||
|
</PayloadGroup>
|
||||||
|
|
||||||
|
<CustomTable Id='WixExtbaInformation'>
|
||||||
|
<Row>
|
||||||
|
<Data Column='LicenseUrl'>!(wix.WixExtbaLicenseUrl)</Data>
|
||||||
|
</Row>
|
||||||
|
</CustomTable>
|
||||||
|
</Fragment>
|
||||||
|
|
||||||
|
<!-- BootstrapperApplicationData tables definition -->
|
||||||
|
<Fragment>
|
||||||
|
<CustomTable Id='WixExtbaInformation' BootstrapperApplicationData='yes'>
|
||||||
|
<Column Id='LicenseFile' Category='Text' Type='string' Width='0' Nullable='yes' PrimaryKey='yes' />
|
||||||
|
<Column Id='LicenseUrl' Category='Text' Type='string' Width='0' Nullable='yes' PrimaryKey='yes' />
|
||||||
|
</CustomTable>
|
||||||
|
</Fragment>
|
||||||
|
</Wix>
|
||||||
32
wixlib/wixstdba_platform.wxi
Normal file
32
wixlib/wixstdba_platform.wxi
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<!--
|
||||||
|
<copyright file="wixstdba_platform.wxi" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Include xmlns='http://schemas.microsoft.com/wix/2006/wi'>
|
||||||
|
<Fragment>
|
||||||
|
<BootstrapperApplication Id='WixExtendedBootstrapperApplication.RtfLicense' SourceFile='$(var.wixextba.TargetDir)wixextba.dll'>
|
||||||
|
<PayloadGroupRef Id='WixExtbaRtfLicensePayloads' />
|
||||||
|
</BootstrapperApplication>
|
||||||
|
</Fragment>
|
||||||
|
|
||||||
|
<Fragment>
|
||||||
|
<BootstrapperApplication Id='WixExtendedBootstrapperApplication.HyperlinkLicense' SourceFile='$(var.wixextba.TargetDir)wixextba.dll'>
|
||||||
|
<PayloadGroupRef Id='WixExtbaHyperlinkLicensePayloads' />
|
||||||
|
</BootstrapperApplication>
|
||||||
|
</Fragment>
|
||||||
|
|
||||||
|
<Fragment>
|
||||||
|
<BootstrapperApplication Id='WixExtendedBootstrapperApplication.Hyperlink2License' SourceFile='$(var.wixextba.TargetDir)wixextba.dll'>
|
||||||
|
<PayloadGroupRef Id='WixExtbaHyperlink2LicensePayloads' />
|
||||||
|
</BootstrapperApplication>
|
||||||
|
</Fragment>
|
||||||
|
|
||||||
|
<Fragment>
|
||||||
|
<BootstrapperApplication Id='WixExtendedBootstrapperApplication.Foundation' SourceFile='$(var.wixextba.TargetDir)wixextba.dll' />
|
||||||
|
</Fragment>
|
||||||
|
</Include>
|
||||||
13
wixlib/wixstdba_x86.wxs
Normal file
13
wixlib/wixstdba_x86.wxs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<!--
|
||||||
|
<copyright file="wixstdba_x86.wxs" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
|
||||||
|
<?define platform=x86 ?>
|
||||||
|
<?include wixstdba_platform.wxi ?>
|
||||||
|
</Wix>
|
||||||
77
wixstdba/Resources/Hyperlink2Theme.xml
Normal file
77
wixstdba/Resources/Hyperlink2Theme.xml
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
|
||||||
|
<Window Width="600" Height="450" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
|
||||||
|
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
|
||||||
|
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
|
||||||
|
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
|
||||||
|
|
||||||
|
<Page Name="Help">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
|
||||||
|
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Install">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.InstallHeader)</Text>
|
||||||
|
<Text X="185" Y="91" Width="-11" Height="64" FontId="3" DisablePrefix="yes">#(loc.InstallMessage)</Text><!-- HexStyle="0x800000" -->
|
||||||
|
<Hypertext Name="EulaHyperlink" X="185" Y="-111" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
|
||||||
|
<Text X="185" Y="-81" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.InstallVersion)</Text>
|
||||||
|
<Hypertext Name="UpgradeHyperlink" X="185" Y="-81" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallUpgradeLinkText)</Hypertext>
|
||||||
|
<Checkbox Name="EulaAcceptCheckbox" X="185" Y="-51" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
|
||||||
|
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
|
||||||
|
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
|
||||||
|
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Options">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel)</Text>
|
||||||
|
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
|
||||||
|
|
||||||
|
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
|
||||||
|
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Progress">
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png"/>
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
|
||||||
|
<Text X="11" Y="141" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
|
||||||
|
<Text Name="OverallProgressPackageText" X="85" Y="141" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
|
||||||
|
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="163" Width="-11" Height="20" />
|
||||||
|
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Modify">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
|
||||||
|
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
|
||||||
|
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
|
||||||
|
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Success">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
|
||||||
|
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
|
||||||
|
<Text Name="SuccessRestartText" X="185" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
|
||||||
|
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
|
||||||
|
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Failure">
|
||||||
|
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
<Image X="11" Y="11" Width="165" Height="400" ImageFile="LogoSide.png"/>
|
||||||
|
<Text X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FailureHeader)</Text>
|
||||||
|
<Hypertext Name="FailureLogFileLink" X="185" Y="121" Width="-11" Height="68" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
|
||||||
|
<Hypertext Name="FailureMessageText" X="185" Y="-115" Width="-11" Height="80" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
|
||||||
|
<Text Name="FailureRestartText" X="185" Y="-57" Width="-11" Height="80" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
|
||||||
|
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
|
||||||
|
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
</Theme>
|
||||||
48
wixstdba/Resources/HyperlinkTheme.wxl
Normal file
48
wixstdba/Resources/HyperlinkTheme.wxl
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="en-us" Language="1033" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="Caption">[WixBundleName] Setup</String>
|
||||||
|
<String Id="Title">[WixBundleName]</String>
|
||||||
|
<String Id="InstallHeader">Welcome</String>
|
||||||
|
<String Id="InstallMessage">Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit.</String>
|
||||||
|
<String Id="InstallVersion">Version [WixBundleVersion]</String>
|
||||||
|
<String Id="InstallUpgradeLinkText">Version [WixBundleVersion] <a href="#">upgrade available</a></String>
|
||||||
|
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
|
||||||
|
<String Id="HelpHeader">Setup Help</String>
|
||||||
|
<String Id="HelpText">/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or
|
||||||
|
creates a complete local copy of the bundle in directory. Install is the default.
|
||||||
|
|
||||||
|
/passive | /quiet - displays minimal UI with no prompts or displays no UI and
|
||||||
|
no prompts. By default UI and all prompts are displayed.
|
||||||
|
|
||||||
|
/norestart - suppress any attempts to restart. By default UI will prompt before restart.
|
||||||
|
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.</String>
|
||||||
|
<String Id="HelpCloseButton">&Close</String>
|
||||||
|
<String Id="InstallLicenseLinkText">[WixBundleName] <a href="#">license terms</a>.</String>
|
||||||
|
<String Id="InstallAcceptCheckbox">I &agree to the license terms and conditions</String>
|
||||||
|
<String Id="InstallOptionsButton">&Options</String>
|
||||||
|
<String Id="InstallInstallButton">&Install</String>
|
||||||
|
<String Id="InstallCloseButton">&Close</String>
|
||||||
|
<String Id="OptionsHeader">Setup Options</String>
|
||||||
|
<String Id="OptionsLocationLabel">Install location:</String>
|
||||||
|
<String Id="OptionsBrowseButton">&Browse</String>
|
||||||
|
<String Id="OptionsOkButton">&OK</String>
|
||||||
|
<String Id="OptionsCancelButton">&Cancel</String>
|
||||||
|
<String Id="ProgressHeader">Setup Progress</String>
|
||||||
|
<String Id="ProgressLabel">Processing:</String>
|
||||||
|
<String Id="OverallProgressPackageText">Initializing...</String>
|
||||||
|
<String Id="ProgressCancelButton">&Cancel</String>
|
||||||
|
<String Id="ModifyHeader">Modify Setup</String>
|
||||||
|
<String Id="ModifyRepairButton">&Repair</String>
|
||||||
|
<String Id="ModifyUninstallButton">&Uninstall</String>
|
||||||
|
<String Id="ModifyCloseButton">&Close</String>
|
||||||
|
<String Id="SuccessHeader">Setup Successful</String>
|
||||||
|
<String Id="SuccessLaunchButton">&Launch</String>
|
||||||
|
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
|
||||||
|
<String Id="SuccessRestartButton">&Restart</String>
|
||||||
|
<String Id="SuccessCloseButton">&Close</String>
|
||||||
|
<String Id="FailureHeader">Setup Failed</String>
|
||||||
|
<String Id="FailureHyperlinkLogText">One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>.</String>
|
||||||
|
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
|
||||||
|
<String Id="FailureRestartButton">&Restart</String>
|
||||||
|
<String Id="FailureCloseButton">&Close</String>
|
||||||
|
</WixLocalization>
|
||||||
66
wixstdba/Resources/HyperlinkTheme.xml
Normal file
66
wixstdba/Resources/HyperlinkTheme.xml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
|
||||||
|
<Window Width="500" Height="390" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
|
||||||
|
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
|
||||||
|
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
|
||||||
|
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
|
||||||
|
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png" Visible="yes"/>
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" Visible="yes" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
|
||||||
|
<Page Name="Help">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
|
||||||
|
<Text X="11" Y="112" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
|
||||||
|
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Install">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.InstallHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="-129" FontId="3" DisablePrefix="yes">#(loc.InstallMessage)</Text>
|
||||||
|
<!-- HexStyle="0x800000" -->
|
||||||
|
<Hypertext Name="EulaHyperlink" X="11" Y="-107" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
|
||||||
|
<Text X="11" Y="-73" Width="246" Height="17" FontId="3" DisablePrefix="yes">#(loc.InstallVersion)</Text>
|
||||||
|
<Hypertext Name="UpgradeHyperlink" X="11" Y="-73" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallUpgradeLinkText)</Hypertext>
|
||||||
|
<Checkbox Name="EulaAcceptCheckbox" X="-11" Y="-41" Width="260" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
|
||||||
|
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
|
||||||
|
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
|
||||||
|
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Options">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel)</Text>
|
||||||
|
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
|
||||||
|
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
|
||||||
|
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Progress">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
|
||||||
|
<Text Name="OverallProgressPackageText" X="85" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
|
||||||
|
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="143" Width="-11" Height="15" />
|
||||||
|
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Modify">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
|
||||||
|
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
|
||||||
|
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
|
||||||
|
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Success">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
|
||||||
|
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
|
||||||
|
<Text Name="SuccessRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
|
||||||
|
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
|
||||||
|
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Failure">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FailureHeader)</Text>
|
||||||
|
<Hypertext Name="FailureLogFileLink" X="11" Y="121" Width="-11" Height="42" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
|
||||||
|
<Hypertext Name="FailureMessageText" X="22" Y="163" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
|
||||||
|
<Text Name="FailureRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
|
||||||
|
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
|
||||||
|
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
</Theme>
|
||||||
BIN
wixstdba/Resources/LogoSide.png
Normal file
BIN
wixstdba/Resources/LogoSide.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
BIN
wixstdba/Resources/LoremIpsumLicense.rtf
Normal file
BIN
wixstdba/Resources/LoremIpsumLicense.rtf
Normal file
Binary file not shown.
43
wixstdba/Resources/RtfTheme.wxl
Normal file
43
wixstdba/Resources/RtfTheme.wxl
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="en-us" Language="1033" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="Caption">[WixBundleName] Setup</String>
|
||||||
|
<String Id="Title">[WixBundleName]</String>
|
||||||
|
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
|
||||||
|
<String Id="HelpHeader">Setup Help</String>
|
||||||
|
<String Id="HelpText">/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or
|
||||||
|
creates a complete local copy of the bundle in directory. Install is the default.
|
||||||
|
|
||||||
|
/passive | /quiet - displays minimal UI with no prompts or displays no UI and
|
||||||
|
no prompts. By default UI and all prompts are displayed.
|
||||||
|
|
||||||
|
/norestart - suppress any attempts to restart. By default UI will prompt before restart.
|
||||||
|
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.</String>
|
||||||
|
<String Id="HelpCloseButton">&Close</String>
|
||||||
|
<String Id="InstallAcceptCheckbox">I &agree to the license terms and conditions</String>
|
||||||
|
<String Id="InstallOptionsButton">&Options</String>
|
||||||
|
<String Id="InstallInstallButton">&Install</String>
|
||||||
|
<String Id="InstallCloseButton">&Close</String>
|
||||||
|
<String Id="OptionsHeader">Setup Options</String>
|
||||||
|
<String Id="OptionsLocationLabel">Install location:</String>
|
||||||
|
<String Id="OptionsBrowseButton">&Browse</String>
|
||||||
|
<String Id="OptionsOkButton">&OK</String>
|
||||||
|
<String Id="OptionsCancelButton">&Cancel</String>
|
||||||
|
<String Id="ProgressHeader">Setup Progress</String>
|
||||||
|
<String Id="ProgressLabel">Processing:</String>
|
||||||
|
<String Id="OverallProgressPackageText">Initializing...</String>
|
||||||
|
<String Id="ProgressCancelButton">&Cancel</String>
|
||||||
|
<String Id="ModifyHeader">Modify Setup</String>
|
||||||
|
<String Id="ModifyRepairButton">&Repair</String>
|
||||||
|
<String Id="ModifyUninstallButton">&Uninstall</String>
|
||||||
|
<String Id="ModifyCloseButton">&Close</String>
|
||||||
|
<String Id="SuccessHeader">Setup Successful</String>
|
||||||
|
<String Id="SuccessLaunchButton">&Launch</String>
|
||||||
|
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
|
||||||
|
<String Id="SuccessRestartButton">&Restart</String>
|
||||||
|
<String Id="SuccessCloseButton">&Close</String>
|
||||||
|
<String Id="FailureHeader">Setup Failed</String>
|
||||||
|
<String Id="FailureHyperlinkLogText">One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>.</String>
|
||||||
|
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
|
||||||
|
<String Id="FailureRestartButton">&Restart</String>
|
||||||
|
<String Id="FailureCloseButton">&Close</String>
|
||||||
|
</WixLocalization>
|
||||||
62
wixstdba/Resources/RtfTheme.xml
Normal file
62
wixstdba/Resources/RtfTheme.xml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
|
||||||
|
<Window Width="500" Height="390" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
|
||||||
|
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
|
||||||
|
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
|
||||||
|
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||||
|
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
|
||||||
|
|
||||||
|
<Image X="11" Y="11" Width="64" Height="64" ImageFile="Logo.png" Visible="yes"/>
|
||||||
|
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" Visible="yes" DisablePrefix="yes">#(loc.Title)</Text>
|
||||||
|
|
||||||
|
<Page Name="Help">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
|
||||||
|
<Text X="11" Y="112" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
|
||||||
|
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Install">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="-70" TabStop="no" FontId="2" HexStyle="0x800000" DisablePrefix="yes" />
|
||||||
|
<Richedit Name="EulaRichedit" X="12" Y="81" Width="-12" Height="-71" TabStop="yes" FontId="0" />
|
||||||
|
<Checkbox Name="EulaAcceptCheckbox" X="-11" Y="-41" Width="260" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
|
||||||
|
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
|
||||||
|
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
|
||||||
|
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Options">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OptionsLocationLabel)</Text>
|
||||||
|
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
|
||||||
|
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
|
||||||
|
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
|
||||||
|
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Progress">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
|
||||||
|
<Text X="11" Y="121" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
|
||||||
|
<Text Name="OverallProgressPackageText" X="85" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
|
||||||
|
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="143" Width="-11" Height="15" />
|
||||||
|
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Modify">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
|
||||||
|
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
|
||||||
|
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
|
||||||
|
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Success">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
|
||||||
|
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
|
||||||
|
<Text Name="SuccessRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
|
||||||
|
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
|
||||||
|
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
<Page Name="Failure">
|
||||||
|
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FailureHeader)</Text>
|
||||||
|
<Hypertext Name="FailureLogFileLink" X="11" Y="121" Width="-11" Height="42" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
|
||||||
|
<Hypertext Name="FailureMessageText" X="22" Y="163" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
|
||||||
|
<Text Name="FailureRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
|
||||||
|
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
|
||||||
|
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
|
||||||
|
</Page>
|
||||||
|
</Theme>
|
||||||
BIN
wixstdba/Resources/logo.png
Normal file
BIN
wixstdba/Resources/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 880 B |
2975
wixstdba/WixStandardBootstrapperApplication.cpp
Normal file
2975
wixstdba/WixStandardBootstrapperApplication.cpp
Normal file
File diff suppressed because it is too large
Load Diff
56
wixstdba/precomp.h
Normal file
56
wixstdba/precomp.h
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="precomp.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// Precompiled header for standard bootstrapper application.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <gdiplus.h>
|
||||||
|
#include <msiquery.h>
|
||||||
|
#include <objbase.h>
|
||||||
|
#include <shlobj.h>
|
||||||
|
#include <shlwapi.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <strsafe.h>
|
||||||
|
|
||||||
|
#include "dutil.h"
|
||||||
|
#include "memutil.h"
|
||||||
|
#include "dictutil.h"
|
||||||
|
#include "dirutil.h"
|
||||||
|
#include "fileutil.h"
|
||||||
|
#include "locutil.h"
|
||||||
|
#include "logutil.h"
|
||||||
|
#include "pathutil.h"
|
||||||
|
#include "resrutil.h"
|
||||||
|
#include "shelutil.h"
|
||||||
|
#include "strutil.h"
|
||||||
|
#include "thmutil.h"
|
||||||
|
#include "uriutil.h"
|
||||||
|
#include "xmlutil.h"
|
||||||
|
|
||||||
|
#include "IBootstrapperEngine.h"
|
||||||
|
#include "IBootstrapperApplication.h"
|
||||||
|
|
||||||
|
#include "BalBaseBootstrapperApplication.h"
|
||||||
|
#include "balinfo.h"
|
||||||
|
#include "balcondition.h"
|
||||||
|
|
||||||
|
HRESULT CreateBootstrapperApplication(
|
||||||
|
__in HMODULE hModule,
|
||||||
|
__in BOOL fPrereq,
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in const BOOTSTRAPPER_COMMAND* pCommand,
|
||||||
|
__out IBootstrapperApplication** ppApplication
|
||||||
|
);
|
||||||
|
|
||||||
|
#include "..\bafunctions\IBootstrapperBAFunction.h"
|
||||||
|
|
||||||
25
wixstdba/resource.h
Normal file
25
wixstdba/resource.h
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="resource.h" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
//
|
||||||
|
#define IDC_STATIC -1
|
||||||
|
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1003
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
61
wixstdba/wixstdba.cpp
Normal file
61
wixstdba/wixstdba.cpp
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="wixstdba.cpp" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// Setup chainer/bootstrapper standard UI for WiX toolset.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
static HINSTANCE vhInstance = NULL;
|
||||||
|
|
||||||
|
extern "C" BOOL WINAPI DllMain(
|
||||||
|
IN HINSTANCE hInstance,
|
||||||
|
IN DWORD dwReason,
|
||||||
|
IN LPVOID /* pvReserved */
|
||||||
|
)
|
||||||
|
{
|
||||||
|
switch(dwReason)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
::DisableThreadLibraryCalls(hInstance);
|
||||||
|
vhInstance = hInstance;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
vhInstance = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" HRESULT WINAPI BootstrapperApplicationCreate(
|
||||||
|
__in IBootstrapperEngine* pEngine,
|
||||||
|
__in const BOOTSTRAPPER_COMMAND* pCommand,
|
||||||
|
__out IBootstrapperApplication** ppApplication
|
||||||
|
)
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
BalInitialize(pEngine);
|
||||||
|
|
||||||
|
hr = CreateBootstrapperApplication(vhInstance, FALSE, pEngine, pCommand, ppApplication);
|
||||||
|
BalExitOnFailure(hr, "Failed to create bootstrapper application interface.");
|
||||||
|
|
||||||
|
LExit:
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" void WINAPI BootstrapperApplicationDestroy()
|
||||||
|
{
|
||||||
|
BalUninitialize();
|
||||||
|
}
|
||||||
16
wixstdba/wixstdba.def
Normal file
16
wixstdba/wixstdba.def
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
;-------------------------------------------------------------------------------------------------
|
||||||
|
; <copyright file="wixstdba.def" company="Outercurve Foundation">
|
||||||
|
; Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
; This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
; The license and further copyright text can be found in the file
|
||||||
|
; LICENSE.TXT at the root directory of the distribution.
|
||||||
|
; </copyright>
|
||||||
|
;
|
||||||
|
; <summary>
|
||||||
|
; WiX Standard Bootstrapper Application DLL entry points.
|
||||||
|
; </summary>
|
||||||
|
;-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
BootstrapperApplicationCreate
|
||||||
|
BootstrapperApplicationDestroy
|
||||||
19
wixstdba/wixstdba.rc
Normal file
19
wixstdba/wixstdba.rc
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
// <copyright file="wixstdba.rc" company="Outercurve Foundation">
|
||||||
|
// Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
// The license and further copyright text can be found in the file
|
||||||
|
// LICENSE.TXT at the root directory of the distribution.
|
||||||
|
// </copyright>
|
||||||
|
//
|
||||||
|
// <summary>
|
||||||
|
// WiX Extendend Bootstrapper Application resource file.
|
||||||
|
// </summary>
|
||||||
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define VER_APP
|
||||||
|
#define VER_ORIGINAL_FILENAME "wixextba.dll"
|
||||||
|
#define VER_INTERNAL_NAME "wixextba"
|
||||||
|
#define VER_PRODUCT_NAME "WiX Extendend Bootstrapper Application"
|
||||||
|
#define VER_FILE_DESCRIPTION "WiX Extendend Bootstrapper Application"
|
||||||
|
#include "wix.rc"
|
||||||
144
wixstdba/wixstdba.vcxproj
Normal file
144
wixstdba/wixstdba.vcxproj
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
<copyright file="wixstdba.vcxproj" company="Outercurve Foundation">
|
||||||
|
Copyright (c) 2004, Outercurve Foundation.
|
||||||
|
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||||
|
The license and further copyright text can be found in the file
|
||||||
|
LICENSE.TXT at the root directory of the distribution.
|
||||||
|
</copyright>
|
||||||
|
-->
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{41085a22-e6aa-4e8b-ab1b-ddee0dc89dfa}</ProjectGuid>
|
||||||
|
<RootNamespace>WixStdBA</RootNamespace>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<ProjectName>wixextba</ProjectName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ExtraDefinitions>
|
||||||
|
</ExtraDefinitions>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(WiX)SDK\VS2010\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;DEBUG;%(PreprocessorDefinitions);$(ExtraDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CallingConvention>StdCall</CallingConvention>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>dutil.lib;balutil.lib;comctl32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;msimg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(WiX)SDK\VS2010\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<ModuleDefinitionFile>wixstdba.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(WiX)SDK\VS2010\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);$(ExtraDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CallingConvention>StdCall</CallingConvention>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>dutil.lib;balutil.lib;comctl32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;msimg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(WiX)SDK\VS2010\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<ModuleDefinitionFile>wixstdba.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="WixStandardBootstrapperApplication.cpp" />
|
||||||
|
<ClCompile Include="wixstdba.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\logo.png" />
|
||||||
|
<None Include="Resources\LoremIpsumLicense.rtf" />
|
||||||
|
<None Include="Resources\HyperlinkTheme.wxl" />
|
||||||
|
<None Include="Resources\HyperlinkTheme.xml" />
|
||||||
|
<None Include="Resources\RtfTheme.wxl" />
|
||||||
|
<None Include="Resources\RtfTheme.xml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
<None Include="wixstdba.def" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="wixstdba.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="precomp.h" />
|
||||||
|
<ClInclude Include="resource.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
61
wixstdba/wixstdba.vcxproj.filters
Normal file
61
wixstdba/wixstdba.vcxproj.filters
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="WixStandardBootstrapperApplication.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="wixstdba.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="wixstdba.def">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Resources\HyperlinkTheme.wxl">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Resources\HyperlinkTheme.xml">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Resources\logo.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Resources\LoremIpsumLicense.rtf">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Resources\RtfTheme.wxl">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Resources\RtfTheme.xml">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="precomp.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="resource.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="wixstdba.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
Reference in New Issue
Block a user