Windows: 64-bit installer should also include 32-bit assemblies
authorAsanka C. Herath <asanka@secure-endpoints.com>
Mon, 29 Nov 2010 23:21:24 +0000 (18:21 -0500)
committerAsanka C. Herath <asanka@secure-endpoints.com>
Tue, 30 Nov 2010 01:44:49 +0000 (20:44 -0500)
packages/windows/installer/NTMakefile
packages/windows/installer/heimdal-assemblies.wxs
packages/windows/installer/heimdal-installer.wxs
packages/windows/installer/heimdal-policy.wxs

index 9dbfd2c23c449cde57c2f4b2a6a8d5e043d55f3e..9252cc1c938b7cb08b0c3884c505211b6aecefb9 100644 (file)
@@ -93,6 +93,18 @@ clean::
        -$(RM) $(SDKREDISTDIR)\Heimdal.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
@@ -148,20 +160,27 @@ THIRDPARTYOPT=$(THIRDPARTYOPT) -dMKShim=1
 
 INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)-$(VERSIOND).msi
 
-$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(ASSEMBLYMODULE) $(THIRDPARTYOBJS)      \
-               $(THIRDPARTYDEPS) lang\en-us.wxl
+$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(ASSEMBLYMODULE) $(POLICYMODULE) \
+               $(THIRDPARTYOBJS) $(THIRDPARTYDEPS) lang\en-us.wxl
        $(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS)      \
                -sval -cultures:en-us -loc lang\en-us.wxl       \
                -dWixUILicenseRtf=lang\license-en-us.rtf        \
                -ext WixUIExtension
        $(_CODESIGN)
 
+!ifdef ASSEMBLYDIR32
+$(INSTALLER): $(ASSEMBLYDIR32)\Heimdal.msm $(ASSEMBLYDIR32)\Heimdal.Policy.msm
+!endif
+
 $(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
-       $(CANDLE) -arch $(PLATFORM) -o $@ $**           \
+       $(CANDLE) -arch $(PLATFORM) -o $@ heimdal-installer.wxs         \
                -dVersion=$(VERSION)                    \
                -dBinDir=$(BINDIR)                      \
                -dDocDir=$(DOCDIR)                      \
                -dInstDir=$(INSTDIR)                    \
+!ifdef ASSEMBLYDIR32
+               -dAssemblyDir32=$(ASSEMBLYDIR32)        \
+!endif
                -dSrcDir=$(SRC)                         \
                -dPlatform=$(PLATFORM)                  \
                -dRuntimeModule=$(RUNTIMEMODULE)        \
index d64443db1229b516aa4becb8cf787c0dc543189e..c4403f61cfd8a3f497a4f4cede6e0c85bfde923b 100644 (file)
@@ -4,20 +4,20 @@
   <?if $(var.Platform)=x64 ?>
 
   <?define Win64=yes ?>
+  <?define GuidPackage=4F062DF3-5C5F-44E9-8F9B-E8D2684ED608 ?>
   <?define GuidKerberos=78905402-0F4B-48E1-924C-B0E18657C5C5 ?>
-  <?define GuidGSSAPI=6EDFA308-6825-4395-9C9E-362C890F1343 ?>
 
   <?else?>
 
   <?define Win64=no ?>
+  <?define GuidPackage=AD5288E3-A024-4BD3-ABBE-4999AF130169 ?>
   <?define GuidKerberos=C5919968-FEC4-4D17-89A4-8697B95F115E ?>
-  <?define GuidGSSAPI=F1EEAB94-ACF3-425E-85BE-4761A0634F46 ?>
 
   <?endif?>
 
   <Module Id="Heimdal" Language="0" Version="$(var.Version)">
 
-    <Package Id="A064012D-F3C3-4059-9AC0-00D8A5283D6D"
+    <Package Id="$(var.GuidPackage)"
              InstallerVersion="200"
              Languages="1033" Manufacturer="Heimdal"
              SummaryCodepage="1252" AdminImage="no"
index 15bc95c60dc9bbe794c77d7cbdc0343723634ca6..876cf7267f74c686fefee385042b536172700249 100644 (file)
             <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)' />
       <MergeRef Id='Heimdal.Assemblies' />
       <MergeRef Id='Heimdal.Policy' />
       <MergeRef Id='Runtime' />
+      <?ifdef AssemblyDir32 ?>
+      <MergeRef Id='Heimdal.Assemblies.32' />
+      <MergeRef Id='Heimdal.Policy.32' />
+      <?endif?>
 
       <?ifdef Thirdparty ?>
       <ComponentGroupRef Id='comp.Heimdal.Thirdparty' />
index 8a73fe8da56fc6b9f51f7d1c80976b83879a83e9..1ef0d965e5fbeb03b81823ebee498e954caf9f92 100644 (file)
@@ -4,18 +4,20 @@
   <?if $(var.Platform)=x64 ?>
 
   <?define Win64=yes ?>
+  <?define GuidPackage=DCFB2432-6072-4F2C-B934-CD7E60576396 ?>
   <?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?>
 
   <?else?>
 
   <?define Win64=no ?>
+  <?define GuidPackage=FC60A0C6-1B5C-4B38-8BDD-C647B4119C19 ?>
   <?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?>
 
   <?endif?>
 
   <Module Id="Heimdal" Language="0" Version="$(var.Version)">
 
-    <Package Id="A064012D-F3C3-4059-9AC0-00D8A5283D6D"
+    <Package Id="$(var.GuidPackage)"
              InstallerVersion="200"
              Languages="1033" Manufacturer="Heimdal"
              SummaryCodepage="1252" AdminImage="no"