Windows: Enable UI in installer
authorAsanka C. Herath <asanka@secure-endpoints.com>
Sun, 26 Sep 2010 23:15:22 +0000 (19:15 -0400)
committerAsanka C. Herath <asanka@secure-endpoints.com>
Wed, 24 Nov 2010 20:32:15 +0000 (15:32 -0500)
packages/windows/installer/NTMakefile
packages/windows/installer/heimdal-assemblies.wxs
packages/windows/installer/heimdal-installer.wxs
packages/windows/installer/lang/en-us.wxl [new file with mode: 0644]
packages/windows/installer/lang/license-en-us.rtf [new file with mode: 0644]

index f54cf986663c8784d3bd948959698400cd6d5c04..9d077cd7db90c2fa9e34d46067f0f9dfdc23dbe3 100644 (file)
@@ -35,6 +35,7 @@ RELDIR=packages\windows\installer
 
 VERSIOND=$(VER_PRODUCT_MAJOR)-$(VER_PRODUCT_MINOR)-$(VER_PRODUCT_AUX)-$(VER_PRODUCT_PATCH)
 VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX).$(VER_PRODUCT_PATCH)
+POLPREFIX=policy.$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR)
 
 !if "$(CPU)"=="AMD64"
 PLATFORM=x64
@@ -63,16 +64,19 @@ clean::
 
 !if exist($(SRC)\thirdparty)
 THIRDPARTYOBJS=$(INSTDIR)\apicache.wixobj $(INSTDIR)\lsacache.wixobj
-THIRDPARTYDEPS=$(INSTDIR)\Heimdal-krbcompat.msm
-THIRDPARTYOPT=-dApiCache=1 -dLsaCache=1 -dKrbCompat=1
+THIRDPARTYOPT=-dApiCache=1 -dLsaCache=1
 !endif
 
 INSTALLER=$(INSTDIR)\Heimdal.msi
 
 RUNTIMEMODULE="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.$(PLATFORM)_msm.msm"
 
-$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(MERGEMOD) $(THIRDPARTYOBJS) $(THIRDPARTYDEPS)
-       $(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) -sval
+$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(MERGEMOD) $(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)
 
 $(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
@@ -83,9 +87,10 @@ $(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
                -dSrcDir=$(SRC)         \
                -dPlatform=$(PLATFORM)  \
                -dRuntimeModule=$(RUNTIMEMODULE) \
+               -dPolPrefix=$(POLPREFIX)        \
                $(THIRDPARTYOPT)
 
 all:: $(INSTALLER)
 
 clean::
-       -$(RM) $(INSTALLER)
\ No newline at end of file
+       -$(RM) $(INSTALLER)
index faedf2135322521d00d465583397726d432b5a2b..6d4c7251532b7bcf2be014ddcb1c30eff3f35989 100644 (file)
@@ -19,7 +19,7 @@
 
     <Package Id="A064012D-F3C3-4059-9AC0-00D8A5283D6D"
              InstallerVersion="200"
-             Languages="1033" Manufacturer="Secure Endpoints Inc."
+             Languages="1033" Manufacturer="Heimdal"
              SummaryCodepage="1252" AdminImage="no"
              Platform="$(var.Platform)" />
 
index 0d5dc69ab79973d6d8915ee20cc0df6a1233bb77..c6733937abb691aea42b9945e1007a61c8eda860 100644 (file)
@@ -11,6 +11,8 @@
   <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
   <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
   <?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?>
+  <?define GuidPolGSSAPI=2EB8472F-64DD-470B-AF65-FC8AAC185788 ?>
+  <?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?>
 
   <?else?>
 
   <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
   <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
   <?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?>
+  <?define GuidPolGSSAPI=7B7D6813-8D9C-4647-8966-89A1CA24A08B ?>
+  <?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?>
 
   <?endif?>
 
-  <Product Name='Heimdal'
+  <Product Name='!(loc.ProductName) $(var.Version)'
            Id='*' UpgradeCode='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'
-           Language='1033' Codepage='1252' Version='$(var.Version)'
-           Manufacturer='Secure Endpoints Inc.'>
+           Language='!(loc.LanguageCode)' Codepage='1252' Version='$(var.Version)'
+           Manufacturer='!(loc.Manufacturer)'>
 
-    <Package Id='*' Description="Heimdal"
-      Comments='Heimdal Kerberos tools and libraries'
-      Manufacturer='Secure Endpoints Inc.'
-      InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
+    <Package Id='*' Description='!(loc.Description)'
+      Manufacturer='!(loc.Manufacturer)'
+      InstallerVersion='300' Languages='!(loc.LanguageCode)'
+      Compressed='yes' SummaryCodepage='1252' />
 
     <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
       <Directory Id='$(var.PIProgramFilesFolder)' Name='PFiles'>
                        Guid='$(var.GuidKinit)'
                        Win64='$(var.Win64)'>
               <File Name='kinit.exe' KeyPath='yes' />
+              <File Name='kinit.pdb' />
             </Component>
 
             <Component Id='comp.klist'
                        Guid='$(var.GuidKlist)'
                        Win64='$(var.Win64)'>
               <File Name='klist.exe' KeyPath='yes' />
+              <File Name='klist.pdb' />
             </Component>
 
             <Component Id='comp.kswitch'
                        Guid='$(var.GuidKswitch)'
                        Win64='$(var.Win64)'>
               <File Name='kswitch.exe' KeyPath='yes' />
+              <File Name='kswitch.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>
 
             <Merge Id='Heimdal.Assemblies' Language='0'
                    SourceFile='$(var.InstDir)\Heimdal-krbcompat.msm' />
             <?endif?>
 
+            <!--
+                Publisher Configuration
+
+                The publisher configuration files are included in the
+                Heimdal installers, but not included in the Heimdal
+                assemblies.
+            -->
+
+            <Directory Id='dir.policy.Heimdal.GSSAPI'
+                       Name='$(var.PolPrefix).Heimdal.GSSAPI'
+                       FileSource='$(var.BinDir)\$(var.PolPrefix).Heimdal.GSSAPI'>
+              <Component Id='comp.policy.Heimdal.GSSAPI'
+                         Guid='$(var.GuidPolGSSAPI)'
+                         Win64='$(var.Win64)'>
+                <File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32'
+                      Id='policy.Kerberos' AssemblyManifest='policy.Kerberos' />
+                <File Name='$(var.Version).cat' Id='policy.Kerberos.cat' />
+              </Component>
+
+            </Directory>
+
+            <Directory Id='dir.policy.Heimdal.Kerberos'
+                       Name='$(var.PolPrefix).Heimdal.Kerberos'
+                       FileSource='$(var.BinDir)\$(var.PolPrefix).Heimdal.Kerberos'>
+              <Component Id='comp.policy.Heimdal.Kerberos'
+                         Guid='$(var.GuidPolKerberos)'
+                         Win64='$(var.Win64)'>
+                <File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32'
+                      Id='policy.GSSAPI' AssemblyManifest='policy.GSSAPI' />
+                <File Name='$(var.Version).cat' Id='policy.GSSAPI.cat' />
+              </Component>
+
+            </Directory>
+
             <Directory Id='dirPlugin' Name='plugin'>
               <Directory Id='PLUGINDIR' Name='krb5'>
 
 
     <Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' />
 
+    <Upgrade Id='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'>
+      <UpgradeVersion IncludeMaximum='no' MigrateFeatures='yes' Maximum='$(var.Version)'
+                      Property='PREVIOUSINSTALLATION' />
+    </Upgrade>
+
+    <InstallExecuteSequence>
+      <RemoveExistingProducts After='InstallFinalize' />
+    </InstallExecuteSequence>
+
+    <Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition>
     <Feature Id='feature.Main' ConfigurableDirectory='INSTALLDIR'
-             Title='Heimdal'
-             Description='Command line tools and libraries for Heimdal Kerberos'
+             Title='!(loc.FeaMainTitle)'
+             Description='!(loc.FeaMainDesc)'
              Level='1' TypicalDefault='install' InstallDefault='local'>
 
       <ComponentRef Id='comp.kinit' />
       <?endif?>
       <ComponentRef Id='comp.Plugin.Reg' />
 
+      <ComponentRef Id='comp.policy.Heimdal.Kerberos' />
+      <ComponentRef Id='comp.policy.Heimdal.GSSAPI' />
+
       <MergeRef Id='Heimdal.Assemblies' />
       <MergeRef Id='Runtime' />
-      <?ifdef KrbCompat?>
-      <MergeRef Id='Heimdal.Compatibility' />
-      <?endif?>
 
       <?ifdef Thirdparty ?>
       <ComponentGroupRef Id='comp.Heimdal.Thirdparty' />
 
     </Feature>
 
+    <!-- Properties for Add/Remove Programs -->
+
+    <Property Id='ARPHELPLINK' Value='http://www.h5l.org' />
+
+    <Property Id='ARPCONTACT' Value='heimdal@h5l.org' />
+
+    <Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org' />
+
+    <!-- Other properties -->
+
     <Property Id='ALLUSERS' Value='1' Secure='yes' />
 
+    <Property Id='WIXUI_INSTALLDIR' Value='INSTALLDIR' />
+
+    <UIRef Id='WixUI_InstallDir' />
+
   </Product>
 </Wix>
diff --git a/packages/windows/installer/lang/en-us.wxl b/packages/windows/installer/lang/en-us.wxl
new file mode 100644 (file)
index 0000000..29fafe3
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+  <String Id='LanguageCode'>1033</String>
+  <String Id='Codepage'>1252</String>
+  <String Id='ProductName'>Heimal</String>
+  <String Id='Manufacturer'>Heimdal Developers</String>
+  <String Id='Description'>Heimdal Kerberos tools and libraries</String>
+  <String Id='Comments'></String>
+  <String Id='FeaMainTitle'>Heimdal</String>
+  <String Id='FeaMainDesc'>Command line tools and libraries for Heimdal Kerberos</String>
+  <String Id='AdminRequired'>Installation of this package requires elevation.</String>
+</WixLocalization> 
diff --git a/packages/windows/installer/lang/license-en-us.rtf b/packages/windows/installer/lang/license-en-us.rtf
new file mode 100644 (file)
index 0000000..2780bf1
Binary files /dev/null and b/packages/windows/installer/lang/license-en-us.rtf differ