From 2b6713aa4a81bff4bbcaf1dee73e799e4532bc96 Mon Sep 17 00:00:00 2001 From: Christian Grasser Date: Mon, 30 Dec 2024 08:33:04 +0100 Subject: [PATCH] - use files (https://wixtoolset.org/docs/fivefour/ , https://wixtoolset.org/docs/schema/wxs/files/ , https://github.com/wixtoolset/issues/issues/7857) instead of heat for file harvesting - remove unused xsl msi scripts TODO: Remove also __pycache__ dirs on unistall, maybe also pyc files --- .github/workflows/CI_build.yml | 2 - PythonScript/project/packages.config | 1 - .../project/packages_local_pydebug.config | 1 + appveyor.yml | 2 - installer/PythonScript.wxs | 39 +++++-- installer/buildInstaller.bat | 100 +----------------- installer/changeDirHtmlDoc.xsl | 7 -- installer/changeDirLib.xsl | 10 -- installer/changeDirSampleScripts.xsl | 7 -- installer/changeDirTests.xsl | 7 -- installer/fixDirectoryAndFileRefs.xsl | 79 -------------- 11 files changed, 36 insertions(+), 219 deletions(-) delete mode 100644 installer/changeDirHtmlDoc.xsl delete mode 100644 installer/changeDirLib.xsl delete mode 100644 installer/changeDirSampleScripts.xsl delete mode 100644 installer/changeDirTests.xsl delete mode 100644 installer/fixDirectoryAndFileRefs.xsl diff --git a/.github/workflows/CI_build.yml b/.github/workflows/CI_build.yml index 74eb3745..d2508e52 100644 --- a/.github/workflows/CI_build.yml +++ b/.github/workflows/CI_build.yml @@ -47,6 +47,4 @@ jobs: $env:PYTHONBUILDDIR='${{ github.workspace }}\packages\pythonx86.3.12.8\tools' Rename-Item -Path ".\buildPaths.bat.orig" -NewName "buildPaths.bat" dotnet tool install --global wix - $env:WIX_HEAT_PATH="${{ github.workspace }}\packages\wixtoolset.heat.5.0.2\tools\net472\x64" - $env:PATH = $env:WIX_HEAT_PATH + ';' + $env:PATH .\buildAll.bat ${{ matrix.build_platform }} diff --git a/PythonScript/project/packages.config b/PythonScript/project/packages.config index 83a07066..b4cff744 100644 --- a/PythonScript/project/packages.config +++ b/PythonScript/project/packages.config @@ -1,7 +1,6 @@  - diff --git a/PythonScript/project/packages_local_pydebug.config b/PythonScript/project/packages_local_pydebug.config index 5c16e22e..ffb741ae 100644 --- a/PythonScript/project/packages_local_pydebug.config +++ b/PythonScript/project/packages_local_pydebug.config @@ -1,5 +1,6 @@  + \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index bca64ac8..d6c04128 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -43,8 +43,6 @@ after_build: - cd "%APPVEYOR_BUILD_FOLDER%"\installer - dotnet tool install --global wix - - set WIX_HEAT_PATH="%APPVEYOR_BUILD_FOLDER%"\packages\wixtoolset.heat.5.0.2\tools\net472\x64 - - set PATH=%WIX_HEAT_PATH%;%PATH% - if "%platform_input%"=="x64" SET PYTHONBUILDDIR_X64="%APPVEYOR_BUILD_FOLDER%"\packages\python.3.12.8\tools - if "%platform_input%"=="Win32" SET PYTHONBUILDDIR="%APPVEYOR_BUILD_FOLDER%"\packages\pythonx86.3.12.8\tools - copy "%APPVEYOR_BUILD_FOLDER%"\installer\buildPaths.bat.orig "%APPVEYOR_BUILD_FOLDER%"\installer\buildPaths.bat diff --git a/installer/PythonScript.wxs b/installer/PythonScript.wxs index 2a233058..e65d345e 100644 --- a/installer/PythonScript.wxs +++ b/installer/PythonScript.wxs @@ -3,10 +3,8 @@ - - @@ -40,7 +38,7 @@ - + @@ -49,13 +47,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -64,11 +91,11 @@ - + - + diff --git a/installer/buildInstaller.bat b/installer/buildInstaller.bat index f3d90865..478f8399 100644 --- a/installer/buildInstaller.bat +++ b/installer/buildInstaller.bat @@ -43,91 +43,6 @@ mkdir %INST_TEMP_DIR% SET /p PYTHONSCRIPTVERSION= < %INST_TEMP_DIR%\version.txt -echo Generating WiX information for ..\pythonlib\full -heat dir ..\pythonlib\full -ag -cg CG_PythonLib -dr D_PythonScript -var var.pylibSource -t changeDirLib.xsl -o %INST_TEMP_DIR%\fullLib.wxs -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Compiling python lib WiX source -wix build %INST_TEMP_DIR%\fullLib.wxs -o %INST_TEMP_DIR%\fullLib.wixlib -d pylibSource=..\pythonlib\full -arch %MSI_ARCH% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Generating WiX information for ..\pythonlib\full_dll%NAME_ADDON% -heat dir ..\pythonlib\full_dll%NAME_ADDON% -ag -cg CG_PythonLibDll -dr D_PythonScript -var var.pylibSource -t changeDirLib.xsl -o %INST_TEMP_DIR%\fullLib_dll%NAME_ADDON%.wxs -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Compiling python pyd lib WiX source -wix build %INST_TEMP_DIR%\fullLib_dll%NAME_ADDON%.wxs -o %INST_TEMP_DIR%\fullLib_dll%NAME_ADDON%.wixlib -d pylibSource=..\pythonlib\full_dll%NAME_ADDON% -arch %MSI_ARCH% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Generating WiX information for ..\pythonlib\tcl -heat dir ..\pythonlib\tcl -ag -cg CG_PythonTclTkLib -dr D_PythonScript -var var.pylibSource -t changeDirLib.xsl -o %INST_TEMP_DIR%\tcl.wxs -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Compiling tcl lib WiX source -wix build %INST_TEMP_DIR%\tcl.wxs -o %INST_TEMP_DIR%\tcl.wixlib -d pylibSource=..\pythonlib\tcl -arch %MSI_ARCH% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Generating WiX information for ..\pythonlib\tcl_dll%NAME_ADDON% -heat dir ..\pythonlib\tcl_dll%NAME_ADDON% -ag -cg CG_PythonTclTkLibDll -dr D_PythonScript -var var.pylibSource -t changeDirLib.xsl -o %INST_TEMP_DIR%\tcl_dll%NAME_ADDON%.wxs -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Compiling tcl lib WiX source -wix build %INST_TEMP_DIR%\tcl_dll%NAME_ADDON%.wxs -o %INST_TEMP_DIR%\tcl_dll%NAME_ADDON%.wixlib -d pylibSource=..\pythonlib\tcl_dll%NAME_ADDON% -arch %MSI_ARCH% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Generating WiX information for ..\PythonScript\scripts\Samples -heat dir ..\scripts\Samples -ag -cg CG_SampleScripts -dr D_PythonScript -var var.scriptSource -t changeDirSampleScripts.xsl -o %INST_TEMP_DIR%\sampleScripts.wxs -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Compiling Sample Scripts WiX source -wix build %INST_TEMP_DIR%\sampleScripts.wxs -o %INST_TEMP_DIR%\sampleScripts.wixlib -d scriptSource=..\scripts\Samples -arch %MSI_ARCH% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - - -echo Generating WiX information for ..\PythonScript\python_tests -heat dir ..\PythonScript\python_tests -ag -cg CG_UnitTests -dr D_PythonScript -var var.unittestSource -t changeDirTests.xsl -o %INST_TEMP_DIR%\unittests.wxs -platform=%NAME_ADDON% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Compiling Unit test WiX source -wix build %INST_TEMP_DIR%\unittests.wxs -o %INST_TEMP_DIR%\unittests.wixlib -d unittestSource=..\PythonScript\python_tests -arch %MSI_ARCH% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Generating WiX information for ..\docs\build\html -heat dir ..\docs\build\html -ag -cg CG_HtmlDocs -dr D_PythonScript -var var.htmldocsSource -t changeDirHtmlDoc.xsl -o %INST_TEMP_DIR%\htmldoc.wxs -platform=%NAME_ADDON% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - -echo Compiling Html doc WiX source -wix build %INST_TEMP_DIR%\htmldoc.wxs -o %INST_TEMP_DIR%\htmldoc.wixlib -d htmldocsSource=..\docs\build\html -arch %MSI_ARCH% -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - cd ..\packages echo add UI extension globally wix extension add -g WixToolset.UI.wixext @@ -135,19 +50,8 @@ wix extension list -g cd ..\installer -echo Compiling main PythonScript installer -wix build pythonscript.wxs -o %INST_TEMP_DIR%\pythonscript.wixlib -d version=%PYTHONSCRIPTVERSION% -d baseDir=.. -d pythonDir=%PYTHONBUILDDIR% -d variantDir=%PYTHONSCRIPTDLLDIR% -d Platform=%MSI_ARCH% -arch %MSI_ARCH% -ext "WixToolset.UI.wixext" -if NOT [%ERRORLEVEL%]==[0] ( - goto error -) - - -echo Linking installer - generating MSI -IF NOT EXIST "build\%PYTHONSCRIPTVERSION%" ( - mkdir build\%PYTHONSCRIPTVERSION% -) - -wix build %INST_TEMP_DIR%\pythonscript.wixlib %INST_TEMP_DIR%\fullLib.wixlib %INST_TEMP_DIR%\fullLib_dll%NAME_ADDON%.wixlib %INST_TEMP_DIR%\unittests.wixlib %INST_TEMP_DIR%\tcl.wixlib %INST_TEMP_DIR%\tcl_dll%NAME_ADDON%.wixlib %INST_TEMP_DIR%\sampleScripts.wixlib %INST_TEMP_DIR%\htmldoc.wixlib -o build\%PYTHONSCRIPTVERSION%\PythonScript_%PYTHONSCRIPTVERSION%%NAME_ADDON%.msi -ext "WixToolset.UI.wixext" +echo Compiling PythonScript installer +wix build pythonscript.wxs -o build\%PYTHONSCRIPTVERSION%\PythonScript_%PYTHONSCRIPTVERSION%%NAME_ADDON%.msi -d version=%PYTHONSCRIPTVERSION% -d baseDir=.. -d pythonDir=%PYTHONBUILDDIR% -d variantDir=%PYTHONSCRIPTDLLDIR% -d Platform=%MSI_ARCH% -d nameAddon=%NAME_ADDON% -arch %MSI_ARCH% -ext "WixToolset.UI.wixext" if NOT [%ERRORLEVEL%]==[0] ( goto error ) diff --git a/installer/changeDirHtmlDoc.xsl b/installer/changeDirHtmlDoc.xsl deleted file mode 100644 index 4b62fc03..00000000 --- a/installer/changeDirHtmlDoc.xsl +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/installer/changeDirLib.xsl b/installer/changeDirLib.xsl deleted file mode 100644 index 878efae3..00000000 --- a/installer/changeDirLib.xsl +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/installer/changeDirSampleScripts.xsl b/installer/changeDirSampleScripts.xsl deleted file mode 100644 index 96d0d5aa..00000000 --- a/installer/changeDirSampleScripts.xsl +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/installer/changeDirTests.xsl b/installer/changeDirTests.xsl deleted file mode 100644 index fbdc684d..00000000 --- a/installer/changeDirTests.xsl +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/installer/fixDirectoryAndFileRefs.xsl b/installer/fixDirectoryAndFileRefs.xsl deleted file mode 100644 index c218d8b0..00000000 --- a/installer/fixDirectoryAndFileRefs.xsl +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file