diff options
author | Jeffrey Altman <jaltman@secure-endpoints.com> | 2007-10-12 19:01:38 +0000 |
---|---|---|
committer | Jeffrey Altman <jaltman@secure-endpoints.com> | 2007-10-12 19:01:38 +0000 |
commit | 875db8152711c3867569d463d27d5664b0cd3dd0 (patch) | |
tree | 95ed27103d975d63a972161452c0c8541e2625b4 /src | |
parent | c0b3626ce1cbcc482f3379d64923552b1eed89e1 (diff) | |
download | krb5-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')
-rw-r--r-- | src/windows/installer/wix/config.wxi | 11 | ||||
-rw-r--r-- | src/windows/installer/wix/files.wxi | 8 | ||||
-rw-r--r-- | src/windows/installer/wix/kfw.wxs | 10 | ||||
-rw-r--r-- | src/windows/installer/wix/lang/config_1033.wxi | 26 | ||||
-rw-r--r-- | src/windows/installer/wix/lang/strings_1033.wxl | 8 | ||||
-rw-r--r-- | src/windows/installer/wix/platform.wxi | 16 |
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 >= 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"?> |