summaryrefslogtreecommitdiffstats
path: root/src/windows/installer
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2007-10-12 19:01:38 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2007-10-12 19:01:38 +0000
commit875db8152711c3867569d463d27d5664b0cd3dd0 (patch)
tree95ed27103d975d63a972161452c0c8541e2625b4 /src/windows/installer
parentc0b3626ce1cbcc482f3379d64923552b1eed89e1 (diff)
downloadkrb5-875db8152711c3867569d463d27d5664b0cd3dd0.tar.gz
krb5-875db8152711c3867569d463d27d5664b0cd3dd0.tar.xz
krb5-875db8152711c3867569d463d27d5664b0cd3dd0.zip
KFW: BUG: WIX: Improve Usability of multiple architecture MSI installations, remove non-unique GUID component identifiers, and include Beta ID in the package name
The WiX installation package suffered from several problems: * The Beta ID was not being included in the package name. Fixed this by swapping the priority of "Release" and "Beta". "Beta" is an official release that has a beta value. A non-release has a datestamp as part of the package name. * There were duplicate GUID values being used for registry components. This would prevent proper removal of the components on uninstall. * 64-bit Installers were being constructed with the 32-bit installer schema. This prevented side-by-side installation of the 64-bit and 32-bit versions. This also permitted 64-bit installers to be installed on 32-bit systems. * The 64-bit and 32-bit installers had the same package name. 64-bit and 32-bit are now identified in the package name. * 64-bit files were being installed to the WOW64 environment. ticket: new component: windows tags: pullup target_version: 1.6.3 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20117 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/windows/installer')
-rw-r--r--src/windows/installer/wix/config.wxi11
-rw-r--r--src/windows/installer/wix/files.wxi8
-rw-r--r--src/windows/installer/wix/kfw.wxs10
-rw-r--r--src/windows/installer/wix/lang/config_1033.wxi26
-rw-r--r--src/windows/installer/wix/lang/strings_1033.wxl8
-rw-r--r--src/windows/installer/wix/platform.wxi16
6 files changed, 50 insertions, 29 deletions
diff --git a/src/windows/installer/wix/config.wxi b/src/windows/installer/wix/config.wxi
index 734e16c08e..e1f48a8b14 100644
--- a/src/windows/installer/wix/config.wxi
+++ b/src/windows/installer/wix/config.wxi
@@ -48,23 +48,20 @@
<?define InstallerVersion="110"?>
<?define Platform="Intel"?>
<?define Win64="no"?>
+ <?define BinDir="$(var.TargetDir)bin\i386\"?>
+ <?define LibDir="$(var.TargetDir)lib\i386\"?>
<?elseif $(env.CPU) = "AMD64"?>
<?define InstallerVersion="200"?>
<?define Platform="x64"?>
<?define Win64="yes"?>
+ <?define BinDir="$(var.TargetDir)bin\amd64\"?>
+ <?define LibDir="$(var.TargetDir)lib\amd64\"?>
<?else?>
<?error Unknown build type?>
<?endif?>
<?define KfwRegRoot="SOFTWARE\MIT\Kerberos"?>
- <?if $(env.CPU) = "i386"?>
- <?define BinDir="$(var.TargetDir)bin\i386\"?>
- <?define LibDir="$(var.TargetDir)lib\i386\"?>
- <?else?>
- <?define BinDir="$(var.TargetDir)bin\amd64\"?>
- <?define LibDir="$(var.TargetDir)lib\amd64\"?>
- <?endif?>
<?define DocDir="$(var.TargetDir)doc\"?>
<?define IncDir="$(var.TargetDir)inc\"?>
<?define InstallDir="$(var.TargetDir)install\"?>
diff --git a/src/windows/installer/wix/files.wxi b/src/windows/installer/wix/files.wxi
index 360033f06c..4604b49517 100644
--- a/src/windows/installer/wix/files.wxi
+++ b/src/windows/installer/wix/files.wxi
@@ -26,7 +26,7 @@
-->
<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
<Directory Id="TARGETDIR" Name="SourceDir">
- <Directory Id="SystemFolder" SourceName="System">
+ <Directory Id="$(var.PISystemFolder)" SourceName="System">
<Component Win64="$(var.Win64)" Id="cmf_kfwlogon_DLL" Guid="$(var.cmf_kfwlogon_DLL_guid)">
<File Id="filekfwlogon_DLL" Name="kfwlogon.dll" LongName="kfwlogon.dll" KeyPath="yes" DiskId="1" src="$(var.BinDir)kfwlogon.dll" />
<Registry Id="reg_kfwlogon01" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\MIT_KFW" Action="createKeyAndRemoveKeyOnUninstall" />
@@ -36,10 +36,10 @@
<Registry Id="reg_kfwlogon05" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\MIT_KFW" Name="DLLName" Type="string" Value="[#filekfwlogon_DLL]" />
<Registry Id="reg_kfwlogon06" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\MIT_KFW" Name="Logon" Type="string" Value="KFW_Logon_Event" />
<Registry Id="reg_kfwlogon07" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Action="createKeyAndRemoveKeyOnUninstall" />
- <Registry Id="reg_kfwlogon08" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="AuthentProviderPath" Type="expandable" Value="[SystemFolder]kfwlogon.dll"/>
+ <Registry Id="reg_kfwlogon08" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="AuthentProviderPath" Type="expandable" Value="[$(var.PISystemFolder)]kfwlogon.dll"/>
<Registry Id="reg_kfwlogon09" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider"/>
<Registry Id="reg_kfwlogon10" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="VerboseLogging" Type="integer" Value="10"/>
- <Registry Id="reg_kfwlogon11" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="ProviderPath" Type="expandable" Value="[SystemFolder]kfwlogon.dll"/>
+ <Registry Id="reg_kfwlogon11" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="ProviderPath" Type="expandable" Value="[$(var.PISystemFolder)]kfwlogon.dll"/>
<Registry Id="reg_kfwlogon12" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="Class" Type="integer" Value="2" />
<Registry Id="reg_kfwlogon13" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="Name" Type="string" Value="MIT Kerberos"/>
</Component>
@@ -53,7 +53,7 @@
</Component>
<?endif?>
</Directory>
- <Directory Id="ProgramFilesFolder">
+ <Directory Id="$(var.PIProgramFilesFolder)">
<Directory Id="dirMIT" Name="MIT" SourceName=".">
<Directory Id="KERBEROSDIR" Name="Kerberos">
<Directory Id="dirbin" Name="bin" src="$(var.BinDir)">
diff --git a/src/windows/installer/wix/kfw.wxs b/src/windows/installer/wix/kfw.wxs
index 02bfb68982..c01d1bfe59 100644
--- a/src/windows/installer/wix/kfw.wxs
+++ b/src/windows/installer/wix/kfw.wxs
@@ -46,10 +46,11 @@
Description="$(var.ProductName)"
Comments="$(var.ProductFullName)"
Manufacturer="$(loc.Manufacturer)"
- InstallerVersion="110"
+ InstallerVersion="$(var.InstallerVersion)"
Languages="$(var.Language)"
Compressed="yes"
- SummaryCodepage="$(var.CodePage)"
+ SummaryCodepage="$(var.CodePage)"
+ Platforms="$(var.Platform)"
/>
<?include lang\ui_$(var.BuildLang).wxi?>
@@ -62,6 +63,11 @@
<Condition Message="$(loc.OsVersionRequired)">VersionNT &gt;= 500</Condition>
<Condition Message="$(loc.CMNotSelected)">USELEASH Or USENETIDMGR</Condition>
<Condition Message="$(loc.CMDupSelected)">Not (USELEASH And USENETIDMGR)</Condition>
+ <?if $(var.Platform) = "x64" ?>
+ <Condition Message="$(loc.StrPlatform64)">
+ <![CDATA[VersionNT64]]>
+ </Condition>
+ <?endif?>
<!-- Custom actions -->
<Binary Id="binCustom" src="custom\custom.dll" />
diff --git a/src/windows/installer/wix/lang/config_1033.wxi b/src/windows/installer/wix/lang/config_1033.wxi
index 0fc62e3d17..5875e72817 100644
--- a/src/windows/installer/wix/lang/config_1033.wxi
+++ b/src/windows/installer/wix/lang/config_1033.wxi
@@ -27,22 +27,30 @@
<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
<?define VersionString="$(var.VersionMajor).$(var.VersionMinor).$(var.VersionPatch)"?>
+ <?if $(var.Platform) = "x64" ?>
+ <?define BaseProductName="$(loc.ProductName64)"?>
+ <?define BaseProductNameShort="$(loc.ProductNameShort64)"?>
+ <?elseif $(var.Platform) = "Intel" ?>
+ <?define BaseProductName="$(loc.ProductName)"?>
+ <?define BaseProductNameShort="$(loc.ProductNameShort)"?>
+ <?else?>
+ <?error Unknown build type?>
+ <?endif?>
- <?ifdef var.Release?>
+ <?ifdef var.Beta?>
<?ifndef var.Debug?>
- <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString)"?>
+ <?define ProductFullName="$(loc.ProductMIT) $(var.BaseProductName) $(var.VersionString) $(loc.ProductBeta) $(var.Beta) "?>
<?else?>
- <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(loc.ProductDebug)"?>
+ <?define ProductFullName="$(loc.ProductMIT) $(var.BaseProductName) $(var.VersionString) $(loc.ProductBeta) $(var.Beta) $(loc.ProductDebug)"?>
<?endif?>
<?else?>
- <?ifdef var.Beta?>
+ <?ifdef var.Release?>
<?ifndef var.Debug?>
- <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(loc.ProductBeta) $(var.Beta) "?>
+ <?define ProductFullName="$(loc.ProductMIT) $(var.BaseProductName) $(var.VersionString)"?>
<?else?>
- <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(loc.ProductBeta) $(var.Beta) $(loc.ProductDebug)"?>
+ <?define ProductFullName="$(loc.ProductMIT) $(var.BaseProductName) $(var.VersionString) $(loc.ProductDebug)"?>
<?endif?>
<?else?>
-
<?ifndef var.Date?>
<?error Date string must be specified?>
<?endif?>
@@ -52,9 +60,9 @@
<?endif?>
<?ifndef var.Debug?>
- <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(var.Date) $(var.Time)"?>
+ <?define ProductFullName="$(loc.ProductMIT) $(var.BaseProductName) $(var.VersionString) $(var.Date) $(var.Time)"?>
<?else?>
- <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(var.Date) $(var.Time) $(loc.ProductDebug)"?>
+ <?define ProductFullName="$(loc.ProductMIT) $(var.BaseProductName) $(var.VersionString) $(var.Date) $(var.Time) $(loc.ProductDebug)"?>
<?endif?>
<?endif?>
<?endif?>
diff --git a/src/windows/installer/wix/lang/strings_1033.wxl b/src/windows/installer/wix/lang/strings_1033.wxl
index 8813343768..60b680fbad 100644
--- a/src/windows/installer/wix/lang/strings_1033.wxl
+++ b/src/windows/installer/wix/lang/strings_1033.wxl
@@ -25,8 +25,10 @@
or implied warranty.
-->
- <String Id="ProductName">Kerberos for Windows</String>
- <String Id="ProductNameShort">KFW</String>
+ <String Id="ProductName64">Kerberos for Windows (64-bit)</String>
+ <String Id="ProductNameShort64">KFW64</String>
+ <String Id="ProductName">Kerberos for Windows (32-bit)</String>
+ <String Id="ProductNameShort">KFW32</String>
<String Id="ProductMIT">MIT</String>
<String Id="ProductDebug">Debug/Checked</String>
<String Id="ProductBeta">Beta</String>
@@ -61,4 +63,6 @@
<String Id="ARPComments">Build of</String>
+ <String Id="StrPlatform64">This build of Kerberos for Windows is for 64-bit Windows versions. Please install the 32-bit version on this operating system.</String>
+ <String Id="StrPlatformNot64">This build of Kerberos for Windows is for 32-bit Windows versions. Please install the 64-bit version on this operating system.</String>
</WixLocalization> \ No newline at end of file
diff --git a/src/windows/installer/wix/platform.wxi b/src/windows/installer/wix/platform.wxi
index 93f1733485..65de105432 100644
--- a/src/windows/installer/wix/platform.wxi
+++ b/src/windows/installer/wix/platform.wxi
@@ -3,6 +3,9 @@
<!-- Platform specific GUID's and other definitions -->
<?if $(var.Platform) = "x64" ?>
<?define UpgradeCode="6DA9CD86-6028-4852-8C94-452CAC229244"?>
+ <?define PISystemFolder="System64Folder"?>
+ <?define PIProgramFilesFolder="ProgramFiles64Folder"?>
+
<?define cmf_kfwlogon_DLL_guid="CFC0B7C9-9A59-4022-89B3-25E0941D0369"?>
<?define cmf_kfwcpcc_EXE_guid="83F51B6D-F3C6-44cf-AC91-D1D6498FFA44"?>
<?define cmp_ClientSystemDebug_guid="7B25B1E0-A22A-43c7-BA97-C30FCA3B1230"?>
@@ -46,20 +49,20 @@
<?define csc_leash32_exe_guid="9D43350A-A8AE-4405-AB82-64E90E5A1A70"?>
<?define rcm_leash_1_guid="7E5517FF-FB76-431f-A92B-2895C9BE7E98"?>
<?define rcm_leash_2_guid="008208AC-46BE-4ca4-BEA7-8FCAAD8BA7C3"?>
- <?define rcm_leash_3_guid="008208AC-46BE-4ca4-BEA7-8FCAAD8BA7C3"?>
+ <?define rcm_leash_3_guid="66D97178-E735-499b-961F-C7B8B8074E1A"?>
<?define rcm_leash_4_guid="D20180CC-B68D-4a6d-95E4-5EB07B9EADCD"?>
<?define rcm_leash_5_guid="AF3B73AE-86ED-42f5-987A-9831B8799D2F"?>
<?define rcm_leash_6_guid="0C72D4F8-096B-4295-8F0A-6B5723A8593D"?>
<?define csc_LeashStartup_guid="228192C5-D847-4c46-A726-0E8211742349"?>
- <?define cmf_leash32_hlp_guid="228192C5-D847-4c46-A726-0E8211742349"?>
+ <?define cmf_leash32_hlp_guid="EF1B0ED6-9C01-4adb-9F11-C3FF07F669D5"?>
<?define cmf_leash32_chm_guid="769B54EB-9B96-4abe-9B72-9EF346C8C03D"?>
<?define cmf_leashw32_dll_guid="7222B9E1-EE70-4ccb-929F-43D45574AA83"?>
<?define cmf_leashw32_dll_name="leashw64.dll"?>
<?define rcm_leashdll_1_guid="64BC62DF-F1D6-423a-B4E0-E75E214BAC26"?>
- <?define rcm_leashdll_2_guid="64BC62DF-F1D6-423a-B4E0-E75E214BAC26"?>
- <?define rcm_leashdll_3_guid="64BC62DF-F1D6-423a-B4E0-E75E214BAC26"?>
+ <?define rcm_leashdll_2_guid="2CEF4DC7-684B-4a53-9053-5EB26264B009"?>
+ <?define rcm_leashdll_3_guid="D93DE8B4-919E-48ef-812D-BFCC26460608"?>
<?define rcm_leashdll_4_guid="989B5FC5-63DC-47d6-BBBC-EE1B355127F6"?>
- <?define rcm_leashdll_5_guid="989B5FC5-63DC-47d6-BBBC-EE1B355127F6"?>
+ <?define rcm_leashdll_5_guid="BF38025F-ED64-4dde-8BDD-250C1BB73909"?>
<?define rcm_leashdll_6_guid="AC35CE64-9D8D-4a21-AB1F-18803C69E7B4"?>
<?define rcm_leashdll_7_guid="02014C27-BAC8-4b86-95F8-43F9BF55064A"?>
<?define rcm_leashdll_8_guid="DE70F57C-D3F8-4c1d-B868-A77DA04D9DD3"?>
@@ -95,6 +98,9 @@
<?define cmf_bin_debug_guid="F3432C85-89D9-4bd6-BD82-4ED49A118338"?>
<?elseif $(var.Platform) = "Intel"?>
<?define UpgradeCode="61211594-AAA1-4A98-A299-757326763CC7"?>
+ <?define PISystemFolder="SystemFolder"?>
+ <?define PIProgramFilesFolder="ProgramFilesFolder"?>
+
<?define cmf_kfwlogon_DLL_guid="2F104FEB-2D61-458A-BAE3-B153F151E728"?>
<?define cmf_kfwcpcc_EXE_guid="C3284E7A-3665-45A6-B64E-C909B1D1BAA6"?>
<?define cmp_ClientSystemDebug_guid="2D13ED48-53C2-4878-B196-2AD7F4100998"?>