Reputation: 6575
This is the code for my bundle.wxs I have another project creating AppInstaller.msi file and I have many 3rd parties like .NET 4.5 and c++ redistributable.
<?xml version="1.0" encoding="utf-8"?>
<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"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Bundle Name="APP" Version="0.0.0.60"
Manufacturer="me" UpgradeCode="PUT-GUID-HERE">
<Chain>
<!-- TODO: Define the list of chained packages. -->
<PackageGroupRef Id="Netfx45FullPackage" />
</Chain>
</Bundle>
<Fragment>
<!--checking for matlab 2012a installation-->
<util:RegistrySearch Id="MatlabPath" Variable="MatlabPathExists" Root="HKLM" Key="SOFTWARE\MathWorks\MATLAB\4.17" Result="exists" Win64="yes" />
<!--checking for matlab MCR 2012a 64 bit installation-->
<util:RegistrySearch Id="MatlabMCRPath" Variable="MatlabMCRPathExists" Root="HKLM" Key="SOFTWARE\MathWorks\MATLAB Compiler Runtime\7.17" Result="exists" Win64="yes" />
<!--checking for c++ Redistributable 2010 x64-->
<util:RegistrySearch Id="redistributable_2010_64" Variable="redist2010Exists" Root="HKLM" Key="\SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x64" Result="exists" Win64="yes" />
<!--checking for c++ Redistributable 2012 x64-->
<util:RegistrySearch Id="redistributable_2012_64" Variable="redist2012Exists" Root="HKLM" Key="\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\11.0\VC\" Result="exists" Win64="yes" />
<PackageGroup Id="Netfx45FullPackage">
<ExePackage Id="vcredist_2012_x64" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile="..\SetupProject\vcredist_x64_2012.exe" InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0)" DetectCondition="redist2012Exists" />
<ExePackage Id="vcredist_2010_x64" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile="..\SetupProject\vcredist_x64_2010.exe" InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0)" DetectCondition="redist2010Exists" />
<ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile="..\SetupProject\dotnetfx45_full_x86_x64.exe" DetectCondition="(Netfx4FullVersion="4.5.50709") AND (NOT VersionNT64 OR (Netfx4x64FullVersion="4.5.50709"))" InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Netfx4FullVersion="4.5.50709" OR Netfx4x64FullVersion="4.5.50709"))" />
<ExePackage Id="MatlabMCR2012a64" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile="..\SetupProject\MCR_R2012a_win64_installer.exe" DetectCondition="MatlabMCRPathExists OR MatlabPathExists" />
<MsiPackage Id="App" Cache="no" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="$(var.installerPath)\APPInstaller.msi" />
</PackageGroup>
</Fragment>
</Wix>
1: How can I create one setup.exe file from all of the files?
2: How Can I create a subfolder with all of the files?
update: in order to createa subfolder just add the attribute Name=""
so
<MsiPackage Id="App" Cache="no" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="$(var.installerPath)\APPInstaller.msi" />
becomes this:
<MsiPackage Id="App" Cache="no" Name="Files\APPInstaller.msi" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="$(var.installerPath)\APPInstaller.msi" />
Upvotes: 0
Views: 2061
Reputation: 5165
In order to embed your installers into the bundle, you should set the attribute Compressed
to Yes
on your ExePackage
and MsiPackage
nodes.
Reference:
http://wixtoolset.org/documentation/manual/v3/xsd/wix/exepackage.html
Upvotes: 1