Skip to content

Commit

Permalink
Bootstrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
WojciechRynczuk committed Dec 15, 2016
1 parent 1c089bd commit cf05482
Show file tree
Hide file tree
Showing 8 changed files with 344 additions and 23 deletions.
90 changes: 90 additions & 0 deletions windows/Bootstrapper/Bootstrapper.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Installer", "..\Installer\Installer.wixproj", "{F148448A-D886-4934-8737-8C3DAC285EE9}"
ProjectSection(ProjectDependencies) = postProject
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954} = {F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}
{39CE447A-C072-4E08-9042-2208DF3A25D6} = {39CE447A-C072-4E08-9042-2208DF3A25D6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vcdMerge", "..\vcdMaker\vcdMerge\vcdMerge.vcxproj", "{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vcdMaker", "..\vcdMaker\vcdMaker\vcdMaker.vcxproj", "{39CE447A-C072-4E08-9042-2208DF3A25D6}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Bootstrapper", "Bootstrapper.wixproj", "{AA694554-90FE-4F5B-B432-1373894AA8DA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F148448A-D886-4934-8737-8C3DAC285EE9}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Debug|Mixed Platforms.Build.0 = Debug|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Debug|Win32.ActiveCfg = Debug|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Debug|Win32.Build.0 = Debug|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Debug|x64.ActiveCfg = Debug|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Debug|x86.ActiveCfg = Debug|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Debug|x86.Build.0 = Debug|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Release|Mixed Platforms.ActiveCfg = Release|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Release|Mixed Platforms.Build.0 = Release|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Release|Win32.ActiveCfg = Release|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Release|Win32.Build.0 = Release|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Release|x64.ActiveCfg = Release|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Release|x86.ActiveCfg = Release|x86
{F148448A-D886-4934-8737-8C3DAC285EE9}.Release|x86.Build.0 = Release|x86
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Debug|Win32.ActiveCfg = Debug|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Debug|Win32.Build.0 = Debug|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Debug|x64.ActiveCfg = Debug|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Debug|x86.ActiveCfg = Debug|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Debug|x86.Build.0 = Debug|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Release|Mixed Platforms.Build.0 = Release|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Release|Win32.ActiveCfg = Release|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Release|Win32.Build.0 = Release|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Release|x64.ActiveCfg = Release|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Release|x86.ActiveCfg = Release|Win32
{F2A67A23-8D8D-44FE-9F00-7C59DAD8A954}.Release|x86.Build.0 = Release|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Debug|Win32.ActiveCfg = Debug|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Debug|Win32.Build.0 = Debug|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Debug|x64.ActiveCfg = Debug|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Debug|x86.ActiveCfg = Debug|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Debug|x86.Build.0 = Debug|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Release|Mixed Platforms.Build.0 = Release|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Release|Win32.ActiveCfg = Release|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Release|Win32.Build.0 = Release|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Release|x64.ActiveCfg = Release|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Release|x86.ActiveCfg = Release|Win32
{39CE447A-C072-4E08-9042-2208DF3A25D6}.Release|x86.Build.0 = Release|Win32
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Debug|Mixed Platforms.Build.0 = Debug|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Debug|Win32.ActiveCfg = Debug|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Debug|Win32.Build.0 = Debug|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Debug|x64.ActiveCfg = Debug|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Debug|x86.ActiveCfg = Debug|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Debug|x86.Build.0 = Debug|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Release|Mixed Platforms.ActiveCfg = Release|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Release|Mixed Platforms.Build.0 = Release|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Release|Win32.ActiveCfg = Release|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Release|Win32.Build.0 = Release|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Release|x64.ActiveCfg = Release|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Release|x86.ActiveCfg = Release|x86
{AA694554-90FE-4F5B-B432-1373894AA8DA}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
57 changes: 57 additions & 0 deletions windows/Bootstrapper/Bootstrapper.wixproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>aa694554-90fe-4f5b-b432-1373894aa8da</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>vcdMakerSetup</OutputName>
<OutputType>Bundle</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<LinkerAdditionalOptions>
</LinkerAdditionalOptions>
</PropertyGroup>
<ItemGroup>
<Compile Include="Bundle.wxs" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixUtilExtension">
<HintPath>$(WixExtDir)\WixUtilExtension.dll</HintPath>
<Name>WixUtilExtension</Name>
</WixExtension>
<WixExtension Include="WixBalExtension">
<HintPath>$(WixExtDir)\WixBalExtension.dll</HintPath>
<Name>WixBalExtension</Name>
</WixExtension>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Installer\Installer.wixproj">
<Name>Installer</Name>
<Project>{f148448a-d886-4934-8737-8c3dac285ee9}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
47 changes: 47 additions & 0 deletions windows/Bootstrapper/Bundle.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<?include ..\Installer\version.wxi ?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<!-- Can be added to bundle to change the installation icon: IconSourceFile="..\Installer\resources\vcdMaker128.ico"-->
<Bundle Name="vcdMaker $(var.ProductVersionInfo)" Version="2.0.1.0" Manufacturer="vcdMaker team" UpgradeCode="aa694554-90fe-4f5b-b432-1373894aa8da">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<Payload SourceFile="resources\bootstrapper_logo.png"/>
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
ThemeFile="resources\HyperlinkTheme.xml"
LocalizationFile="resources\HyperlinkTheme.wxl"
SuppressOptionsUI="yes" />
</BootstrapperApplicationRef>

<Chain>
<!-- TODO: Define the list of chained packages. -->
<!-- <MsiPackage SourceFile="path\to\your.msi" /> -->
<PackageGroupRef Id="vc_redist.x86"/>
<MsiPackage Id="vcdMakerInstaller" SourceFile="$(var.Installer.TargetPath)" DisplayInternalUI='yes'/>
</Chain>
</Bundle>
<Fragment>
<!-- Check for the VC++ Redistributable(x86)-->
<util:RegistrySearch Root="HKLM"
Key="SOFTWARE\Microsoft\DevDiv\VC\Servicing\14.0\RuntimeMinimum"
Value="Version"
Variable="vcRedistVersion"/>
<PackageGroup Id="vc_redist.x86">
<ExePackage Id="vc_redist.x86"
DisplayName="Microsoft Visual C++ 2015 Redistributable (x86)"
DownloadUrl ="https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe"
Cache="yes"
Compressed="no"
PerMachine="yes"
Permanent="yes"
Protocol="burn"
Vital="yes"
SourceFile ="./vc_redist.x86.exe"
InstallCommand="/quiet /norestart"
DetectCondition="vcRedistVersion >= &quot;14.0.23506&quot;">
</ExePackage>
</PackageGroup>
</Fragment>
</Wix>
60 changes: 60 additions & 0 deletions windows/Bootstrapper/resources/HyperlinkTheme.wxl
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?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="ExecuteUpgradeRelatedBundleMessage">Previous version</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">&amp;Close</String>
<String Id="InstallLicenseLinkText">[WixBundleName] &lt;a href="#"&gt;license terms&lt;/a&gt;.</String>
<String Id="InstallAcceptCheckbox">I &amp;agree to the license terms and conditions</String>
<String Id="InstallOptionsButton">&amp;Options</String>
<String Id="InstallInstallButton">&amp;Install</String>
<String Id="InstallCloseButton">&amp;Close</String>
<String Id="OptionsHeader">Setup Options</String>
<String Id="OptionsLocationLabel">Install location:</String>
<String Id="OptionsBrowseButton">&amp;Browse</String>
<String Id="OptionsOkButton">&amp;OK</String>
<String Id="OptionsCancelButton">&amp;Cancel</String>
<String Id="ProgressHeader">Setup Progress</String>
<String Id="ProgressLabel">Processing:</String>
<String Id="OverallProgressPackageText">Initializing...</String>
<String Id="ProgressCancelButton">&amp;Cancel</String>
<String Id="ModifyHeader">Modify Setup</String>
<String Id="ModifyRepairButton">&amp;Repair</String>
<String Id="ModifyUninstallButton">&amp;Uninstall</String>
<String Id="ModifyCloseButton">&amp;Close</String>
<String Id="SuccessRepairHeader">Repair Successfully Completed</String>
<String Id="SuccessUninstallHeader">Uninstall Successfully Completed</String>
<String Id="SuccessInstallHeader">Installation Successfully Completed</String>
<String Id="SuccessHeader">Setup Successful</String>
<String Id="SuccessLaunchButton">&amp;Launch</String>
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
<String Id="SuccessRestartButton">&amp;Restart</String>
<String Id="SuccessCloseButton">&amp;Close</String>
<String Id="FailureHeader">Setup Failed</String>
<String Id="FailureInstallHeader">Setup Failed</String>
<String Id="FailureUninstallHeader">Uninstall Failed</String>
<String Id="FailureRepairHeader">Repair 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 &lt;a href="#"&gt;log file&lt;/a&gt;.</String>
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
<String Id="FailureRestartButton">&amp;Restart</String>
<String Id="FailureCloseButton">&amp;Close</String>
<String Id="FilesInUseHeader">Files In Use</String>
<String Id="FilesInUseLabel">The following applications are using files that need to be updated:</String>
<String Id="FilesInUseCloseRadioButton">Close the &amp;applications and attempt to restart them.</String>
<String Id="FilesInUseDontCloseRadioButton">&amp;Do not close applications. A reboot will be required.</String>
<String Id="FilesInUseOkButton">&amp;OK</String>
<String Id="FilesInUseCancelButton">&amp;Cancel</String>
</WixLocalization>
Loading

0 comments on commit cf05482

Please sign in to comment.