1@echo off 2 3rem This script converts portable *.zip package to *.msi package 4 5rem Check command arguments 6if "%1" == "" ( 7 echo. 8 echo Syntax: 9 echo. 10 echo %~nx0 ^<Full path to portable .zip package^> 11 goto :eof 12) 13 14rem Path to Windows Installer XML (WiX) toolset 15set PATH=%PATH%;"C:\Program Files (x86)\WiX Toolset v3.9\bin" 16 17rem The new package will be created from here 18set BUILD_PACK_DIR=%TEMP%\awgg-%DATE: =% 19 20rem The new package will be saved here 21set PACK_DIR=%~dp0/release 22 23rem Determine package file name 24for /f %%i in ("%1") do set PACKAGE=%%~ni 25 26rem Get package version and architecture 27for /f "tokens=1,2,3,4,5 delims=-." %%a in ("%PACKAGE%") do ( 28 set AWGG_VER=%%b.%%c.%%d 29 set CPU_TARGET=%%e 30) 31 32rem Prepare needed variables 33if "%CPU_TARGET%" == "i386" ( 34 set CPU_TARGET=x86 35 set PF=ProgramFilesFolder 36) else if "%CPU_TARGET%" == "x86_64" ( 37 set CPU_TARGET=x64 38 set PF=ProgramFiles64Folder 39) 40 41rem Prepare package build dir 42mkdir %BUILD_PACK_DIR% 43 44rem Extract archive 45unzip %1 -d %BUILD_PACK_DIR% 46 47rem Copy needed files 48copy license.rtf %BUILD_PACK_DIR%\ 49copy awgg.wxs %BUILD_PACK_DIR%\ 50copy ..\..\src\awgg.ico %BUILD_PACK_DIR%\ 51 52pushd %BUILD_PACK_DIR% 53 54move awgg "AWGG" 55heat dir "AWGG" -ag -cg HeatGroup -dr %PF% -var var.SourcePath -o include.wxs 56candle -arch %CPU_TARGET% -dProductVersion=%AWGG_VER% -dSourcePath="AWGG" -dProgramFiles=%PF% awgg.wxs include.wxs 57light -ext WixUIExtension -cultures:en-us include.wixobj awgg.wixobj -o %PACKAGE%.msi 58 59rem Move created package 60move %PACKAGE%.msi %PACK_DIR%/ 61 62rem Clean temp directories 63popd 64rmdir /S /Q %BUILD_PACK_DIR% 65