Work on WiX installer and bootstrapper

This commit is contained in:
2014-10-25 08:13:58 -04:00
parent 3eb5779465
commit d744d0bd16
4 changed files with 171 additions and 18 deletions

View File

@@ -6,7 +6,7 @@
<ProductVersion>3.9</ProductVersion>
<ProjectGuid>5e5c13a5-635e-4310-a653-0f9760f46935</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>Bootstrapper</OutputName>
<OutputName>FeedCenterSetup</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>

View File

@@ -4,15 +4,21 @@
<?define CompanyName="$(fileVersion.CompanyName($(var.FeedCenter.TargetPath)))" ?>
<?define ProductVersion="$(fileVersion.ProductVersion($(var.FeedCenter.TargetPath)))" ?>
<Bundle Name="Bootstrapper"
Version="1.0.0.0"
<Bundle Name="$(var.ProductName)"
Version="$(var.ProductVersion)"
Manufacturer="$(var.CompanyName)"
UpgradeCode="5e5c13a5-635e-4310-a653-0f9760f46935">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
SuppressOptionsUI="yes"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="NetFx451Web"/>
<MsiPackage Id="FeedCenter"
SourceFile="$(var.Setup.TargetPath)"/>
</Chain>

View File

@@ -1,46 +1,163 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<?define ProductName="$(fileVersion.ProductName($(var.FeedCenter.TargetPath)))" ?>
<?define CompanyName="$(fileVersion.CompanyName($(var.FeedCenter.TargetPath)))" ?>
<?define ProductVersion="$(fileVersion.ProductVersion($(var.FeedCenter.TargetPath)))" ?>
<Product Id="*"
Name="Setup"
Name="$(var.ProductName)"
Language="1033"
Version="1.0.0.0"
Version="$(var.ProductVersion)"
Manufacturer="$(var.CompanyName)"
UpgradeCode="47f30e4a-a861-47ac-b82d-35e4b886992a">
<Package InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine" />
InstallScope="perUser" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature"
Title="Setup"
Title="$(var.ProductName)"
Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<PropertyRef Id="NETFRAMEWORK45"/>
<Condition Message="This application requires version 4.5 of the .NET Framework. Please install the .NET Framework then run this installer again.">
<![CDATA[Installed OR NETFRAMEWORK45]]>
</Condition>
<Directory Id="TARGETDIR"
Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="LocalAppDataFolder">
<Directory Id="INSTALLFOLDER"
Name="Setup" />
Name="$(var.ProductName)">
<Directory Id="SqlServerCe_32"
Name="x86" />
<Directory Id="SqlServerCe_64"
Name="amd64" />
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder"
Name="$(var.ProductName)"/>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents"
Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<!-- <Component Id="ProductComponent"> -->
<!-- TODO: Insert files, registry keys, and other resources here. -->
<!-- </Component> -->
<ComponentGroup Id="ProductComponents">
<Component Id="SqlServerCe_32"
Guid="{800607E9-65ED-489F-83A2-C73AA36A9D1D}"
Directory="SqlServerCe_32">
<RegistryValue Root='HKCU'
Key='Software\Feed Center\Setup'
Type='integer'
Name='SqlServerCe_32'
Value='1'
KeyPath='yes' />
<File Id="sqlceca40_32"
Source="$(var.FeedCenter.TargetDir)\x86\sqlceca40.dll" />
<File Id="sqlcecompact40_32"
Source="$(var.FeedCenter.TargetDir)\x86\sqlcecompact40.dll" />
<File Id="sqlceer40EN_32"
Source="$(var.FeedCenter.TargetDir)\x86\sqlceer40EN.dll" />
<File Id="sqlceme40_32"
Source="$(var.FeedCenter.TargetDir)\x86\sqlceme40.dll" />
<File Id="sqlceqp40_32"
Source="$(var.FeedCenter.TargetDir)\x86\sqlceqp40.dll" />
<File Id="sqlcese40_32"
Source="$(var.FeedCenter.TargetDir)\x86\sqlcese40.dll" />
<RemoveFolder Id='SqlServerCe_32'
On='uninstall' />
</Component>
<Component Id="SqlServerCe_64"
Guid="{67DB1CF4-23F2-4252-896C-714438959C9A}"
Directory="SqlServerCe_64">
<RegistryValue Root='HKCU'
Key='Software\Feed Center\Setup'
Type='integer'
Name='SqlServerCe_64'
Value='1'
KeyPath='yes' />
<File Id="sqlceca40_64"
Source="$(var.FeedCenter.TargetDir)\amd64\sqlceca40.dll" />
<File Id="sqlcecompact40_64"
Source="$(var.FeedCenter.TargetDir)\amd64\sqlcecompact40.dll" />
<File Id="sqlceer40EN_64"
Source="$(var.FeedCenter.TargetDir)\amd64\sqlceer40EN.dll" />
<File Id="sqlceme40_64"
Source="$(var.FeedCenter.TargetDir)\amd64\sqlceme40.dll" />
<File Id="sqlceqp40_64"
Source="$(var.FeedCenter.TargetDir)\amd64\sqlceqp40.dll" />
<File Id="sqlcese40_64"
Source="$(var.FeedCenter.TargetDir)\amd64\sqlcese40.dll" />
<RemoveFolder Id='SqlServerCe_64'
On='uninstall' />
</Component>
<Component Id="FeedCenter"
Guid="{9B2B9C65-8E68-4F82-9AC5-16EBCAC34B9E}"
Directory="INSTALLFOLDER">
<RegistryValue Root='HKCU'
Key='Software\Feed Center\Setup'
Type='integer'
Name='FeedCenter'
Value='1'
KeyPath='yes' />
<File Source="$(var.Common.TargetPath)" />
<File Source="$(var.Common.Native.TargetPath)" />
<File Source="$(var.Common.Wpf.TargetPath)" />
<File Source="$(var.FeedCenter.TargetDir)\Common.Wpf.MarkupExtensions.dll" />
<File Source="$(var.FeedCenter.TargetDir)\EntityFramework.dll" />
<File Source="$(var.FeedCenter.TargetDir)\EntityFramework.SqlServer.dll" />
<File Source="$(var.FeedCenter.TargetDir)\EntityFramework.SqlServerCompact.dll" />
<File Source="$(var.FeedCenter.TargetDir)\System.Data.SqlServerCe.dll" />
<File Source="$(var.FeedCenter.TargetDir)\System.Data.SqlServerCe.Entity.dll" />
<File Source="$(var.FeedCenter.TargetPath).config" />
<File Source="$(var.FeedCenter.TargetPath)" />
<RemoveFolder Id='INSTALLFOLDER'
On='uninstall' />
</Component>
<Component Id="ApplicationShortcut"
Guid="{63CF0995-E117-4BB9-9077-76F570FDFAA9}"
Directory="ApplicationProgramsFolder">
<Shortcut Id="StartMenuShortcut"
Directory="ApplicationProgramsFolder"
Advertise="no"
Name="$(var.ProductName)"
Target="[INSTALLFOLDER]\$(var.FeedCenter.TargetName)"
WorkingDirectory="INSTALLFOLDER" />
<RemoveFolder Id="ApplicationProgramsFolder"
On="uninstall"/>
<RegistryValue Root="HKCU"
Key="Software\Feed Center\Setup"
Name="Shortcut"
Type="integer"
Value="1"
KeyPath="yes"/>
</Component>
</ComponentGroup>
</Fragment>
</Wix>

View File

@@ -15,21 +15,51 @@
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
<SuppressIces>ICE91</SuppressIces>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<SuppressIces>ICE91</SuppressIces>
</PropertyGroup>
<ItemGroup>
<Compile Include="Product.wxs" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixNetFxExtension">
<HintPath>$(WixExtDir)\WixNetFxExtension.dll</HintPath>
<Name>WixNetFxExtension</Name>
</WixExtension>
<WixExtension Include="WixFileVersionExtension">
<HintPath>..\..\WixFileVersionExtension\bin\Release\WixFileVersionExtension.dll</HintPath>
<Name>WixFileVersionExtension</Name>
</WixExtension>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Common.Native\Common.Native.csproj">
<Name>Common.Native</Name>
<Project>{ed1c07a1-54f5-4796-8b06-2a0bb1960d84}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="..\..\Common.Wpf\Common.Wpf.csproj">
<Name>Common.Wpf</Name>
<Project>{0074c983-550e-4094-9e8c-f566fb669297}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="..\..\Common\Common.csproj">
<Name>Common</Name>
<Project>{17864d82-457d-4a0a-bc10-1d07f2b3a5d6}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="..\Application\FeedCenter.csproj">
<Name>FeedCenter</Name>
<Project>{bd3d12f2-de23-4466-83b1-1eb617a877a4}</Project>