From: Greg Hudson Date: Wed, 18 Dec 2024 19:52:28 +0000 (-0500) Subject: Remove 32-bit build from KfW installer X-Git-Tag: krb5-1.22-beta1~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1405%2Fhead;p=thirdparty%2Fkrb5.git Remove 32-bit build from KfW installer In src/windows/README, document only the steps for a 64-bit build. In the installer, expect only 64-bit binaries. In the CI, perform only a 64-bit Windows build, and split up the build into three steps so that build failures are easier to understand. --- diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d7d02e74d..183b7c2934 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -79,32 +79,19 @@ jobs: mkdir %KRB_INSTALL_DIR% - uses: ilammy/msvc-dev-cmd@v1 with: - arch: x86 - - name: Build 32-bit - shell: cmd + arch: x64 + - name: Build + working-directory: src run: | - cd src - set - set PATH=%PATH%;%wix%bin + $env:Path += ';' + $env:WindowsSdkVerBinPath + '\\x86' nmake -f Makefile.in prep-windows nmake - nmake install - cd windows\installer\wix - nmake - rename kfw.msi kfw32.msi - - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: x64 - - name: Build 64-bit - shell: cmd + - name: Populate install dir + working-directory: src run: | - cd src - set - set PATH=%PATH%;%wix%bin;"%WindowsSdkVerBinPath%"\x86 - nmake clean - nmake nmake install - cd windows\installer\wix - nmake clean + - name: Build installer + working-directory: src\windows\installer\wix + run: | + $env:Path += ';' + $env:wix + 'bin' nmake - rename kfw.msi kfw64.msi diff --git a/src/windows/README b/src/windows/README index 2d57f0dd1d..5ceff9adca 100644 --- a/src/windows/README +++ b/src/windows/README @@ -51,12 +51,9 @@ checking out the sources with git and are using the Git BASH Perl, make sure to set git's core.autocrlf variable to "input" or "false" to avoid translating newlines. -After Visual Studio is installed, you should be able to invoke 32-bit -and 64-bit command prompts via the start menu (Visual Studio 2017 -> -x86 Native Tools Command Prompt and x64 Native Tools Command Prompt). -At the current time, Kerberos 5 can only be built for the x64 target -if the host platform is also 64-bit, because it compiles and runs -programs during the build. +After Visual Studio is installed, you should be able to invoke command +prompts via the start menu (Visual Studio 2017 -> x64 Native Tools +Command Prompt). IMPORTANT NOTE: By default, the sources are built with debug information and linked against the debug version of the Microsoft C @@ -76,44 +73,25 @@ You must also define KRB_INSTALL_DIR either in the environment or on the command line (for nmake install). If you are proceeding to build the MSI installer, this directory should be a temporary staging area in or near your build tree. The directory must exist before nmake install -is run. The 64-bit installer provides 32-bit libraries, so a 32-bit build -and install must be performed before the 64-bit build. +is run. To skip building the graphical ticket manager, run "set NO_LEASH=1" -before building, and do not build the installers. +before building, and do not build the installer. -In a 32-bit command shell: +Run the following commands in a Visual Studio command prompt: - 1) set KRB_INSTALL_DIR=\path\to\dir # Where bin/include/lib lives - 2) cd xxx\src # Go to where source lives - 3) nmake -f Makefile.in prep-windows # Create Makefile for Windows + 1) set PATH=%PATH%;"%WindowsSdkVerBinPath%"\x86 # To get uicc.exe + 2) set KRB_INSTALL_DIR=\path\to\dir # Where bin/include/lib lives + 3) cd xxx\src # Go to where source lives 4) nmake [NODEBUG=1] # Build the sources - 5) nmake install [NODEBUG=1] # Copy headers, libs, executables - 6) cd windows\installer\wix # Go to where the installer source is + 5) nmake install [NODEBUG=1] # Copy libraries/executables + 6) cd windows\installer\wix # Go to the installer source 7) nmake [NODEBUG=1] # Build the installer - 8) rename kfw.msi kfw32.msi # Save the 32-bit installer - -In a 64-bit command shell: - - 9) set PATH=%PATH%;"%WindowsSdkVerBinPath%"\x86 # To get uicc.exe -10) set KRB_INSTALL_DIR=\path\to\dir # Where bin/include/lib lives -11) cd xxx\src # Go to where source lives -12) nmake clean # Clean up the 32-bit objects -13) nmake [NODEBUG=1] # Build the sources for 64-bit -14) nmake install [NODEBUG=1] # Copy 64-bit lib/executables -15) cd windows\installer\wix # Back to the installer source -16) nmake clean # Remove 32-bit leavings -17) nmake [NODEBUG=1] # Build the 64-bit installer -18) rename kfw.msi kfw64.msi # And name it usefully - -Step 9 may be skipped if uicc is already in the command-line path (try + +Step 1 may be skipped if uicc is already in the command-line path (try running "uicc" to see if you get a usage message or a not-found error), or if you are not building the graphical ticket manager. -Visual Studio 2013 and 2015 provide only a single command prompt. -Within this prompt, use "vcvarsall.bat x86" and "vcvarsall.bat amd64" -to switch to 32-bit and 64-bit mode. - Running Kerberos 5 Apps: ----------------------- diff --git a/src/windows/installer/wix/config.wxi b/src/windows/installer/wix/config.wxi index 579de4399a..ea6e610a01 100644 --- a/src/windows/installer/wix/config.wxi +++ b/src/windows/installer/wix/config.wxi @@ -58,7 +58,6 @@ - diff --git a/src/windows/installer/wix/custom/custom.cpp b/src/windows/installer/wix/custom/custom.cpp index 3460def692..27e056fb0f 100644 --- a/src/windows/installer/wix/custom/custom.cpp +++ b/src/windows/installer/wix/custom/custom.cpp @@ -541,7 +541,6 @@ _cleanup: static bool IsNSISInstalled() { HKEY nsisKfwKey = NULL; - // Note: check Wow6432 node if 64 bit build HRESULT res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion" "\\Uninstall\\Kerberos for Windows", diff --git a/src/windows/installer/wix/features.wxi b/src/windows/installer/wix/features.wxi index 5b0747a6a9..3405dc4827 100644 --- a/src/windows/installer/wix/features.wxi +++ b/src/windows/installer/wix/features.wxi @@ -56,21 +56,16 @@ - - - - - - - - - - - - + + + + + + + + - @@ -79,19 +74,10 @@ - - - - - - - - - @@ -145,11 +131,7 @@ Level="130" Title="!(loc.KerberosSDKTitle)"> - - - - diff --git a/src/windows/installer/wix/files.wxi b/src/windows/installer/wix/files.wxi index 947bed565f..805856eae2 100644 --- a/src/windows/installer/wix/files.wxi +++ b/src/windows/installer/wix/files.wxi @@ -80,9 +80,6 @@ KRB5PRESERVEIDENTITY - - - @@ -93,9 +90,6 @@ - - - @@ -136,29 +130,6 @@ - - - - - - kerberos.mit.edu - kerberos-1.mit.edu - kerberos-2.mit.edu - - - - - kerberos-1.csail.mit.edu - kerberos-2.csail.mit.edu - - - - - - - - - @@ -194,10 +165,6 @@ - - - - @@ -270,53 +237,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + kerberos.mit.edu + kerberos-1.mit.edu + kerberos-2.mit.edu + + + + + kerberos-1.csail.mit.edu + kerberos-2.csail.mit.edu + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + @@ -336,21 +302,12 @@ - - + + - - - - - - - - - - + @@ -401,19 +358,6 @@ - - - - - - - - - - - - - @@ -424,7 +368,6 @@ - @@ -460,20 +403,6 @@ - - - - - - - - - - - - - - @@ -554,38 +483,16 @@ - - - - - + - - - - - - - - - - - - - - - - + + + + - - - - - - - - - + + + diff --git a/src/windows/installer/wix/kfw.wxs b/src/windows/installer/wix/kfw.wxs index d150a61fdb..1f1417dd98 100755 --- a/src/windows/installer/wix/kfw.wxs +++ b/src/windows/installer/wix/kfw.wxs @@ -64,11 +64,7 @@ (Not (VersionNT = 600)) Or (ServicePackLevel >= 2) USELEASH Or USENETIDMGR Not (USELEASH And USENETIDMGR) - - - - - + diff --git a/src/windows/installer/wix/lang/config_1033.wxi b/src/windows/installer/wix/lang/config_1033.wxi index 3dbaaf54be..2f1f4ab51f 100644 --- a/src/windows/installer/wix/lang/config_1033.wxi +++ b/src/windows/installer/wix/lang/config_1033.wxi @@ -27,15 +27,8 @@ - - - - - - - - - + + diff --git a/src/windows/installer/wix/lang/strings_1033.wxl b/src/windows/installer/wix/lang/strings_1033.wxl index 7207e9a8d8..e38da59bb3 100644 --- a/src/windows/installer/wix/lang/strings_1033.wxl +++ b/src/windows/installer/wix/lang/strings_1033.wxl @@ -25,10 +25,8 @@ or implied warranty. --> - Kerberos for Windows (64-bit) - KFW64 - Kerberos for Windows (32-bit) - KFW32 + Kerberos for Windows (64-bit) + KFW64 MIT Debug/Checked Beta diff --git a/src/windows/installer/wix/msi-deployment-guide.txt b/src/windows/installer/wix/msi-deployment-guide.txt index 2d3bb866e2..73cb93873f 100644 --- a/src/windows/installer/wix/msi-deployment-guide.txt +++ b/src/windows/installer/wix/msi-deployment-guide.txt @@ -825,11 +825,6 @@ Kerberos for Windows means that group policy based deployments will fail on machines that have the "Kerberos for Windows" NSIS package installed. - Note that the NSIS package is only available for 32-bit i386. - You cannot install both the 32-bit NSIS and 64-bit amd64 MSI - packages on the same machine. To install both 32-bit and 64-bit - KFW, you must use the MSI packages of both. - If you have used a different MSI package to install Kerberos for Windows and wish to upgrade it you can author rows into the 'Upgrade' table to have the "Kerberos for Windows" MSI replace these diff --git a/src/windows/installer/wix/platform.wxi b/src/windows/installer/wix/platform.wxi index 8d21fd233d..006e355440 100644 --- a/src/windows/installer/wix/platform.wxi +++ b/src/windows/installer/wix/platform.wxi @@ -1,175 +1,82 @@ - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/windows/installer/wix/runtime.wxi b/src/windows/installer/wix/runtime.wxi index 3d5c1dfea7..48cf2e131f 100644 --- a/src/windows/installer/wix/runtime.wxi +++ b/src/windows/installer/wix/runtime.wxi @@ -1,17 +1,8 @@ - + - - - - - - - - -