Windows: Build multiplatform installer

When building the x64 installer, we can optionally include 32-bit
components as well.  This requires that the 32-bit build to be already
completed.  The resulting multiplatform installer will install
both sets of components.

This is enabled by the environment variable MULTIPLATFORM_INSTALLER.
This commit is contained in:
Asanka C. Herath
2010-12-02 21:36:50 -05:00
parent 3f6b4c9fdd
commit dd6d5a0e2c
3 changed files with 278 additions and 195 deletions

View File

@@ -93,19 +93,6 @@ clean::
-$(RM) $(SDKREDISTDIR)\Heimdal.msm -$(RM) $(SDKREDISTDIR)\Heimdal.msm
-$(RM) $(SDKREDISTDIR)\Heimdal.Policy.msm -$(RM) $(SDKREDISTDIR)\Heimdal.Policy.msm
# Locate 32-bit assembly merge modules
!if "$(CPU)"=="AMD64"
ASSEMBLYDIR32=$(SDKREDISTDIR:AMD64=i386)
!if !exist( $(ASSEMBLYDIR32)\Heimdal.msm )
!message 32-bit assembly not found. Skipping 32-bit components
!undef ASSEMBLYDIR32
!endif
!endif
###################################################################### ######################################################################
# Runtime modules # Runtime modules
@@ -117,12 +104,6 @@ VCVER=VC80
! error Cant determine Visual C compiler version ! error Cant determine Visual C compiler version
!endif !endif
!if "$(CPU)"=="AMD64"
CPUSUFFIX=_x64
!else
CPUSUFFIX=
!endif
!if "$(BUILD)"=="rel" !if "$(BUILD)"=="rel"
CRTNAME=CRT CRTNAME=CRT
!else !else
@@ -136,11 +117,13 @@ MMDIR=$(SystemDrive)\Program Files (x86)\Common Files\Merge Modules
!if exist("$(MMDIR)") !if exist("$(MMDIR)")
RUNTIMEMODULE="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86$(CPUSUFFIX).msm" RUNTIMEMODULE32="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86.msm"
RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86_x64.msm"
!else !else
RUNTIMEMODULE="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.$(PLATFORM)_msm.msm" RUNTIMEMODULE32="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x86_msm.msm"
RUNTIMEMODULE64="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x64_msm.msm"
!endif !endif
@@ -148,44 +131,72 @@ RUNTIMEMODULE="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.$(PLATFORM)_msm.msm"
###################################################################### ######################################################################
# Heimdal installer # Heimdal installer
CANDLEOPTS= \
-dVersion=$(VERSION) \
-dBinDir=$(BINDIR) \
-dDocDir=$(DOCDIR) \
-dSrcDir=$(SRC) \
-dPlatform=$(PLATFORM) \
-dPolPrefix=$(POLPREFIX) \
!if "$(CPU)"=="AMD64"
INSTDIR32=$(INSTDIR:AMD64=i386)
CANDLEOPTS=$(CANDLEOPTS) -dTarget64 \
-dInstDir32=$(INSTDIR32) \
-dInstDir64=$(INSTDIR) \
-dRuntimeModule32=$(RUNTIMEMODULE32) \
-dRuntimeModule64=$(RUNTIMEMODULE64) \
!ifdef MULTIPLATFORM_INSTALLER
CANDLEOPTS=$(CANDLEOPTS) -dTarget32
!else
! message Excluding 32-bit components from installer
!endif
INSTDEPS=$(INSTDIR32)\Heimdal.msm \
$(INSTDIR32)\Heimdal.Policy.msm \
$(ASSEMBLYMODULE) $(POLICYMODULE)
!else
CANDLEOPTS=$(CANDLEOPTS) -dTarget32 \
-dInstDir32=$(INSTDIR) \
-dRuntimeModule32=$(RUNTIMEMODULE32) \
!endif
!if exist($(SRC)\thirdparty) !if exist($(SRC)\thirdparty)
THIRDPARTYOBJS=$(INSTDIR)\apicache.wixobj $(INSTDIR)\lsacache.wixobj THIRDPARTYOBJS=$(INSTDIR)\apicache.wixobj $(INSTDIR)\lsacache.wixobj
THIRDPARTYOPT=-dApiCache=1 -dLsaCache=1 THIRDPARTYOPTS=-dApiCache=1 -dLsaCache=1
!if "$(CPU)"=="AMD64"
THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR32)\apicache.wixobj $(INSTDIR32)\lsacache.wixobj
!endif
!endif !endif
!if exist($(SRC)\thirdparty\MKShim) !if exist($(SRC)\thirdparty\MKShim)
THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR)\MKShim.wixlib THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR)\MKShim.wixlib
THIRDPARTYOPT=$(THIRDPARTYOPT) -dMKShim=1 THIRDPARTYOPTS=$(THIRDPARTYOPTS) -dMKShim=1
!if "$(CPU)"=="AMD64"
THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR32)\MKShim.wixlib
!endif
!endif !endif
INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)-$(VERSIOND).msi INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)-$(VERSIOND).msi
$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(ASSEMBLYMODULE) $(POLICYMODULE) \ $(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) $(INSTDEPS) lang\en-us.wxl
$(THIRDPARTYOBJS) $(THIRDPARTYDEPS) lang\en-us.wxl
$(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) \ $(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) \
-sval -cultures:en-us -loc lang\en-us.wxl \ -sval -cultures:en-us -loc lang\en-us.wxl \
-dWixUILicenseRtf=lang\license-en-us.rtf \ -dWixUILicenseRtf=lang\license-en-us.rtf \
-ext WixUIExtension -ext WixUIExtension
$(_CODESIGN) $(_CODESIGN)
!ifdef ASSEMBLYDIR32
$(INSTALLER): $(ASSEMBLYDIR32)\Heimdal.msm $(ASSEMBLYDIR32)\Heimdal.Policy.msm
!endif
$(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs $(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
$(CANDLE) -arch $(PLATFORM) -o $@ heimdal-installer.wxs \ $(CANDLE) -arch $(PLATFORM) -o $@ heimdal-installer.wxs \
-dVersion=$(VERSION) \ $(CANDLEOPTS) $(THIRDPARTYOPTS)
-dBinDir=$(BINDIR) \
-dDocDir=$(DOCDIR) \
-dInstDir=$(INSTDIR) \
!ifdef ASSEMBLYDIR32
-dAssemblyDir32=$(ASSEMBLYDIR32) \
!endif
-dSrcDir=$(SRC) \
-dPlatform=$(PLATFORM) \
-dRuntimeModule=$(RUNTIMEMODULE) \
-dPolPrefix=$(POLPREFIX) \
$(THIRDPARTYOPT)
all:: $(INSTALLER) all:: $(INSTALLER)

View File

@@ -5,6 +5,8 @@
<?define Win64=yes ?> <?define Win64=yes ?>
<?define PIProgramFilesFolder=ProgramFiles64Folder ?> <?define PIProgramFilesFolder=ProgramFiles64Folder ?>
<?define ToolsBinDir=dirBin64 ?>
<?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?> <?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?>
<?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?> <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
<?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?> <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
@@ -15,10 +17,14 @@
<?define GuidKdeltkt=3E853905-8CDA-4E14-8EBA-C0C4EEDB811A ?> <?define GuidKdeltkt=3E853905-8CDA-4E14-8EBA-C0C4EEDB811A ?>
<?define GuidKcc=F411A9F1-A186-40CB-B55B-CADBE0166268 ?> <?define GuidKcc=F411A9F1-A186-40CB-B55B-CADBE0166268 ?>
<?define ConfigDir=INSTALLDIR64 ?>
<?else?> <?else?>
<?define Win64=no ?> <?define Win64=no ?>
<?define PIProgramFilesFolder=ProgramFilesFolder ?> <?define PIProgramFilesFolder=ProgramFilesFolder ?>
<?define ToolsBinDir=dirBin32 ?>
<?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?> <?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?>
<?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?> <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
<?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?> <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
@@ -29,6 +35,8 @@
<?define GuidKdeltkt=6450EE72-E472-4709-B457-B579BFB2472B ?> <?define GuidKdeltkt=6450EE72-E472-4709-B457-B579BFB2472B ?>
<?define GuidKcc=11800964-4A5F-466E-B2FE-DD2EFC54DDB9 ?> <?define GuidKcc=11800964-4A5F-466E-B2FE-DD2EFC54DDB9 ?>
<?define ConfigDir=INSTALLDIR32 ?>
<?endif?> <?endif?>
<Product Name='!(loc.ProductName) $(var.Version)' <Product Name='!(loc.ProductName) $(var.Version)'
@@ -42,145 +50,195 @@
Compressed='yes' SummaryCodepage='1252' /> Compressed='yes' SummaryCodepage='1252' />
<Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'> <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
<Directory Id='$(var.PIProgramFilesFolder)' Name='PFiles'>
<Directory Id='INSTALLDIR' Name='Heimdal'>
<Directory Id='dirBin' Name='bin' FileSource='$(var.BinDir)'>
<Component Id='comp.SearchPath'
Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='$(var.Win64)'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='InstallPath' Type='string'
Value='[dirBin]' KeyPath='yes' />
</RegistryKey>
<Environment Id='env.Path' Name='PATH' Action='set' Part='last'
Separator=';' Value='[dirBin]' System='yes' />
</Component>
<Component Id='comp.kinit'
Guid='$(var.GuidKinit)'
Win64='$(var.Win64)'>
<File Name='kinit.exe' KeyPath='yes' />
<File Name='kinit.pdb' />
</Component>
<Component Id='comp.ktutil'
Guid='$(var.GuidKtutil)'
Win64='$(var.Win64)'>
<File Name='ktutil.exe' KeyPath='yes' />
<File Name='ktutil.pdb' />
</Component>
<Component Id='comp.kdestroy'
Guid='$(var.GuidKdestroy)'
Win64='$(var.Win64)'>
<File Name='kdestroy.exe' KeyPath='yes' />
<File Name='kdestroy.pdb' />
</Component>
<Component Id='comp.kdigest'
Guid='$(var.GuidKdigest)'
Win64='$(var.Win64)'>
<File Name='kdigest.exe' KeyPath='yes' />
<File Name='kdigest.pdb' />
</Component>
<Component Id='comp.kpasswd'
Guid='$(var.GuidKpasswd)'
Win64='$(var.Win64)'>
<File Name='kpasswd.exe' KeyPath='yes' />
<File Name='kpasswd.pdb' />
</Component>
<Component Id='comp.kvno'
Guid='$(var.GuidKvno)'
Win64='$(var.Win64)'>
<File Name='kvno.exe' KeyPath='yes' />
<File Name='kvno.pdb' />
</Component>
<Component Id='comp.kcpytkt'
Guid='$(var.GuidKcpytkt)'
Win64='$(var.Win64)'>
<File Name='kcpytkt.exe' KeyPath='yes' />
<File Name='kcpytkt.pdb' />
</Component>
<Component Id='comp.kdeltkt'
Guid='$(var.GuidKdeltkt)'
Win64='$(var.Win64)'>
<File Name='kdeltkt.exe' KeyPath='yes' />
<File Name='kdeltkt.pdb' />
</Component>
<Component Id='comp.kcc'
Guid='$(var.GuidKcc)'
Win64='$(var.Win64)'>
<File Name='kcc.exe' KeyPath='yes'>
<CopyFile Id='klist.exe' DestinationName='klist.exe' />
<CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' />
</File>
<File Name='kcc.pdb'>
<CopyFile Id='klist.pdb' DestinationName='klist.pdb' />
<CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' />
</File>
</Component>
<Merge Id='Heimdal.Assemblies' Language='0'
SourceFile='$(var.InstDir)\Heimdal.msm' />
<Merge Id='Heimdal.Policy' Language='0'
SourceFile='$(var.InstDir)\Heimdal.Policy.msm' />
<?ifdef AssemblyDir32 ?>
<Merge Id='Heimdal.Assemblies.32' Language='0'
SourceFile='$(var.AssemblyDir32)\Heimdal.msm' />
<Merge Id='Heimdal.Policy.32' Language='0'
SourceFile='$(var.AssemblyDir32)\Heimdal.Policy.msm' />
<?endif?>
<Merge Id='Runtime' Language='0'
SourceFile='$(var.RuntimeModule)' />
<?ifdef KrbCompat?>
<Merge Id='Heimdal.Compatibility' Language='0'
SourceFile='$(var.InstDir)\Heimdal-krbcompat.msm' />
<?endif?>
<Directory Id='dirPlugin' Name='plugin'>
<Directory Id='PLUGINDIR' Name='krb5'>
<Component Id='comp.Plugin.Reg'
Guid='4BC44234-70A4-4CC1-A5AF-4CA76E9F9487'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Kerberos'>
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
Value='"[PLUGINDIR]"' KeyPath='yes' />
</RegistryKey>
</Component>
<?ifdef Target32 ?>
<Directory Id='ProgramFilesFolder'>
<Directory Id='INSTALLDIR32' Name='Heimdal'>
<Directory Id='dirBin32' Name='bin'>
<Directory Id='dirPlugin32' Name='plugin'>
<Directory Id='PLUGINDIR32' Name='krb5'>
</Directory> </Directory>
</Directory> </Directory>
</Directory> </Directory>
<Directory Id='dirDoc' Name='doc' FileSource='$(var.DocDir)'>
<Component Id='comp.Heimdal.chm'
Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
<File Name='heimdal.chm' />
</Component>
<Component Id='comp.HX509.chm'
Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'>
<File Name='hx509.chm' />
</Component>
</Directory>
</Directory> </Directory>
</Directory> </Directory>
<?endif?>
<?ifdef Target64?>
<Directory Id='ProgramFiles64Folder'>
<Directory Id='INSTALLDIR64' Name='Heimdal'>
<Directory Id='dirBin64' Name='bin'>
<Directory Id='dirPlugin64' Name='plugin'>
<Directory Id='PLUGINDIR64' Name='krb5'>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<?endif?>
</Directory>
<?ifdef Target32?>
<DirectoryRef Id='dirBin32' DiskId='1'>
<Component Id='comp.SearchPath.32' Feature='feature.Main'
Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='no'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='InstallPath' Type='string'
Value='[dirBin32]' KeyPath='yes' />
</RegistryKey>
<Environment Id='env.Path.32' Name='PATH' Action='set' Part='last'
Separator=';' Value='[dirBin32]' System='yes' />
</Component>
<Merge Id='Heimdal.Assemblies.32' Language='0'
SourceFile='$(var.InstDir32)\Heimdal.msm' />
<Merge Id='Heimdal.Policy.32' Language='0'
SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' />
<Merge Id='Runtime.32' Language='0'
SourceFile='$(var.RuntimeModule32)' />
</DirectoryRef>
<?endif?>
<?ifdef Target64?>
<DirectoryRef Id='dirBin64' DiskId='1'>
<Component Id='comp.SearchPath.64' Feature='feature.Main'
Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='InstallPath' Type='string'
Value='[dirBin64]' KeyPath='yes' />
</RegistryKey>
<Environment Id='env.Path' Name='PATH' Action='set' Part='last'
Separator=';' Value='[dirBin64]' System='yes' />
</Component>
<Merge Id='Heimdal.Assemblies.64' Language='0'
SourceFile='$(var.InstDir64)\Heimdal.msm' />
<Merge Id='Heimdal.Policy.64' Language='0'
SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' />
<Merge Id='Runtime.64' Language='0'
SourceFile='$(var.RuntimeModule64)' />
</DirectoryRef>
<?endif?>
<DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'>
<Component Id='comp.kinit'
Guid='$(var.GuidKinit)'
Win64='$(var.Win64)'>
<File Name='kinit.exe' KeyPath='yes' />
<File Name='kinit.pdb' />
</Component>
<Component Id='comp.ktutil'
Guid='$(var.GuidKtutil)'
Win64='$(var.Win64)'>
<File Name='ktutil.exe' KeyPath='yes' />
<File Name='ktutil.pdb' />
</Component>
<Component Id='comp.kdestroy'
Guid='$(var.GuidKdestroy)'
Win64='$(var.Win64)'>
<File Name='kdestroy.exe' KeyPath='yes' />
<File Name='kdestroy.pdb' />
</Component>
<Component Id='comp.kdigest'
Guid='$(var.GuidKdigest)'
Win64='$(var.Win64)'>
<File Name='kdigest.exe' KeyPath='yes' />
<File Name='kdigest.pdb' />
</Component>
<Component Id='comp.kpasswd'
Guid='$(var.GuidKpasswd)'
Win64='$(var.Win64)'>
<File Name='kpasswd.exe' KeyPath='yes' />
<File Name='kpasswd.pdb' />
</Component>
<Component Id='comp.kvno'
Guid='$(var.GuidKvno)'
Win64='$(var.Win64)'>
<File Name='kvno.exe' KeyPath='yes' />
<File Name='kvno.pdb' />
</Component>
<Component Id='comp.kcpytkt'
Guid='$(var.GuidKcpytkt)'
Win64='$(var.Win64)'>
<File Name='kcpytkt.exe' KeyPath='yes' />
<File Name='kcpytkt.pdb' />
</Component>
<Component Id='comp.kdeltkt'
Guid='$(var.GuidKdeltkt)'
Win64='$(var.Win64)'>
<File Name='kdeltkt.exe' KeyPath='yes' />
<File Name='kdeltkt.pdb' />
</Component>
<Component Id='comp.kcc'
Guid='$(var.GuidKcc)'
Win64='$(var.Win64)'>
<File Name='kcc.exe' KeyPath='yes'>
<CopyFile Id='klist.exe' DestinationName='klist.exe' />
<CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' />
</File>
<File Name='kcc.pdb'>
<CopyFile Id='klist.pdb' DestinationName='klist.pdb' />
<CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' />
</File>
</Component>
<Component Id='comp.Heimdal.chm'
Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
<File Source='$(var.DocDir)\heimdal.chm' />
</Component>
<Component Id='comp.HX509.chm'
Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'>
<File Source='$(var.DocDir)\hx509.chm' />
</Component>
</DirectoryRef>
<?ifdef Target32?>
<DirectoryRef Id='PLUGINDIR32'>
<Component Id='comp.Plugin.Reg.32' Feature='feature.Main'
Guid='4BC44234-70A4-4CC1-A5AF-4CA76E9F9487' Win64='no'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Kerberos'>
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
Value='"[PLUGINDIR32]"' KeyPath='yes' />
</RegistryKey>
</Component>
</DirectoryRef>
<?endif?>
<?ifdef Target64?>
<DirectoryRef Id='PLUGINDIR64'>
<Component Id='comp.Plugin.Reg.64' Feature='feature.Main'
Guid='5A99A52E-A4CD-40F8-AFFD-AD61939FC547' Win64='yes'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Kerberos'>
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
Value='"[PLUGINDIR64]"' KeyPath='yes' />
</RegistryKey>
</Component>
</DirectoryRef>
<?endif?>
<DirectoryRef Id='TARGETDIR'>
<Directory Id='CommonAppDataFolder' Name='ProgramData'> <Directory Id='CommonAppDataFolder' Name='ProgramData'>
<Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'> <Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'>
@@ -245,7 +303,7 @@
</Directory> </Directory>
<Directory Id='WindowsFolder'> <Directory Id='WindowsFolder'>
</Directory> </Directory>
</Directory> </DirectoryRef>
<Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' /> <Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' />
@@ -294,14 +352,13 @@
<Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition> <Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition>
<Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition> <Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition>
<Feature Id='feature.Main' ConfigurableDirectory='INSTALLDIR' <Feature Id='feature.Main' ConfigurableDirectory='$(var.ConfigDir)'
Title='!(loc.FeaMainTitle)' Title='!(loc.FeaMainTitle)'
Description='!(loc.FeaMainDesc)' Description='!(loc.FeaMainDesc)'
Level='1' TypicalDefault='install' InstallDefault='local'> Level='1' TypicalDefault='install' InstallDefault='local'>
<ComponentRef Id='comp.HX509.chm' /> <ComponentRef Id='comp.HX509.chm' />
<ComponentRef Id='comp.Heimdal.chm' /> <ComponentRef Id='comp.Heimdal.chm' />
<ComponentRef Id='comp.SearchPath' />
<ComponentRef Id='comp.kcpytkt' /> <ComponentRef Id='comp.kcpytkt' />
<ComponentRef Id='comp.kdeltkt' /> <ComponentRef Id='comp.kdeltkt' />
<ComponentRef Id='comp.kdestroy' /> <ComponentRef Id='comp.kdestroy' />
@@ -316,27 +373,42 @@
<ComponentRef Id='comp.kcc' /> <ComponentRef Id='comp.kcc' />
<?ifdef LsaCache ?> <?ifdef LsaCache ?>
<ComponentGroupRef Id='comps.LSACache' /> <?ifdef Target32?>
<ComponentGroupRef Id='comps.LSACache.32' />
<?endif?> <?endif?>
<?ifdef Target64?>
<ComponentGroupRef Id='comps.LSACache.64' />
<?endif?>
<?endif?>
<?ifdef ApiCache ?> <?ifdef ApiCache ?>
<ComponentGroupRef Id='comps.APICache' /> <?ifdef Target32?>
<ComponentGroupRef Id='comps.APICache.32' />
<?endif?> <?endif?>
<ComponentRef Id='comp.Plugin.Reg' /> <?ifdef Target64?>
<ComponentGroupRef Id='comps.APICache.64' />
<MergeRef Id='Heimdal.Assemblies' />
<MergeRef Id='Heimdal.Policy' />
<MergeRef Id='Runtime' />
<?ifdef AssemblyDir32 ?>
<MergeRef Id='Heimdal.Assemblies.32' />
<MergeRef Id='Heimdal.Policy.32' />
<?endif?> <?endif?>
<?ifdef Thirdparty ?>
<ComponentGroupRef Id='comp.Heimdal.Thirdparty' />
<?endif?> <?endif?>
<?ifdef MKShim ?> <?ifdef MKShim ?>
<ComponentGroupRef Id='comp.Heimdal.MKShim' /> <?ifdef Target32?>
<ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
<?endif?>
<?ifdef Target64?>
<ComponentGroupRef Id='comp.Heimdal.MKShim.64' />
<?endif?>
<?endif?>
<?ifdef Target32?>
<MergeRef Id='Heimdal.Assemblies.32' />
<MergeRef Id='Heimdal.Policy.32' />
<MergeRef Id='Runtime.32' />
<?endif?>
<?ifdef Target64?>
<MergeRef Id='Heimdal.Assemblies.64' />
<MergeRef Id='Heimdal.Policy.64' />
<MergeRef Id='Runtime.64' />
<?endif?> <?endif?>
</Feature> </Feature>
@@ -353,7 +425,7 @@
<Property Id='ALLUSERS' Value='1' Secure='yes' /> <Property Id='ALLUSERS' Value='1' Secure='yes' />
<Property Id='WIXUI_INSTALLDIR' Value='INSTALLDIR' /> <Property Id='WIXUI_INSTALLDIR' Value='$(var.ConfigDir)' />
<UIRef Id='WixUI_InstallDir' /> <UIRef Id='WixUI_InstallDir' />

View File

@@ -72,8 +72,8 @@ MCPU=amd64
#---------------------------------------------------------------- #----------------------------------------------------------------
# Directory macros # Directory macros
DESTDIR =$(SRC)\out\dest_$(OUTDIR) DESTDIR =$(SRC)\out\dest_$(CPU)
OBJDIR =$(SRC)\out\obj_$(OUTDIR) OBJDIR =$(SRC)\out\obj_$(CPU)
INCDIR =$(DESTDIR)\inc INCDIR =$(DESTDIR)\inc
LIBDIR =$(DESTDIR)\lib LIBDIR =$(DESTDIR)\lib