Test merging SQLite and SQLCipher installers together

All the new committed files are the same as the current files, but have "_new" suffix so they can be tested without breaking the current build system. Once tested, the old files can be removed and the new ones renamed.

See issue #1630.
This commit is contained in:
Karim ElDeeb
2018-11-28 18:18:20 +02:00
parent e8a03f462c
commit 79859dc0da
5 changed files with 494 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
@echo off
:: Output file name
set MSI=DB.Browser.for.SQLite-%1
:: Set the ARCH based on the first parameter
if "%1"=="" (
echo ERROR: You must select a build type, either "win64" or "win32"
goto :eof
) else if "%1"=="win32" (
set ARCH=x86
) else if "%1"=="win64" (
set ARCH=x64
) else (
echo ERROR: Unknown build type="%1"
goto :eof
)
:: Suppress some ICE checks
:: - 61 (major upgrade)
:: - 03 & 82 (merge module)
:: - 38 & 43 & 57 (non-advertised shortcuts)
set ICE=-sice:ICE03 -sice:ICE82 -sice:ICE61 -sice:ICE38 -sice:ICE43 -sice:ICE57
:: Suppress 'light.exe' warning
:: - 1104 (vcredist merge module installer version)
set LIGHT=-sw1104
:: Compile & Link
"%WIX%\bin\candle.exe" -nologo -pedantic -arch %ARCH% product_new.wxs translations.wxs
"%WIX%\bin\light.exe" -sval -nologo -pedantic %LIGHT% %ICE% -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -loc strings.wxl product_new.wixobj translations.wixobj -out %MSI%.msi
:: Cleanup
del product_new.wixobj
del translations.wixobj
del %MSI%.wixpdb

View File

@@ -0,0 +1,109 @@
:: Destination path - specify where to move package after build
SET DEST_PATH=C:\\builds
MKDIR "%DEST_PATH%"
SET ZIP_EXE="C:\Program Files\7-Zip\7z.exe"
SET SQLITE_DIR=C:\\dev\\SQLite-Win32
SET SQLCIPHER_DIR=C:\\git_repos\\SQLCipher-Win32
SET SQLCIPHER_TAG=v3.4.2
:: You need to change the date format in Windows settings to YYYY-MM-DD
:: before this will work properly. ;)
set RUN_DATE=%DATE%
:: If no branch given on the command line, use master
IF "%1"=="" (SET BRANCH="master") ELSE (SET BRANCH="%1")
CD /d "C:\"
if exist "%SQLITE_DIR%" rd /q /s "%SQLITE_DIR%"
if exist "C:\\builds\\release-sqlite-win32" rd /q /s "C:\\builds\\release-sqlite-win32"
if exist "C:\\builds\\release-sqlcipher-win32" rd /q /s "C:\\builds\\release-sqlcipher-win32"
:: Unpack SQLite
CD C:\dev
%ZIP_EXE% e sqlite*zip "-o%SQLITE_DIR%"
:: Update repositories
::git clone -b v3.4.2 https://github.com/sqlcipher/sqlcipher.git SQLCipher-Win32
CD C:\\git_repos\\SQLCipher-Win32
git clean -dffx
git checkout -f HEAD
git checkout master
git pull
git checkout "%SQLCIPHER_TAG%"
git clean -dffx
git pull
git clean -dffx
::git clone -b %BRANCH% https://github.com/sqlitebrowser/sqlitebrowser.git "%DB4S_DIR%Win32"
CD C:\\git_repos\\sqlitebrowser
git clean -dffx
git checkout -f HEAD
git checkout master
git pull
git checkout %BRANCH%
git clean -dffx
git pull
git clean -dffx
:: WIN32 SQLITE BUILD PROCEDURE
:: Set path variables
CALL "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin\\vcvars32.bat"
:: Build SQLite x86
CD %SQLITE_DIR%
cl sqlite3.c -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_JSON1 -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll
:: Run CMake for SQLite x86
CD C:\\builds
MKDIR "release-sqlite-win32"
CD "release-sqlite-win32"
cmake -G "Visual Studio 12 2013" -Wno-dev C:\\git_repos\\sqlitebrowser
:: Build package
devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD"
:: WIN32 SQLCIPHER BUILD PROCEDURE
:: Build SQLCipher x86
CD %SQLCIPHER_DIR%
nmake /f Makefile.msc sqlcipher.dll USE_AMALGAMATION=1 NO_TCL=1 SQLITE3DLL=sqlcipher.dll SQLITE3LIB=sqlcipher.lib SQLITE3EXE=sqlcipher.exe LTLINKOPTS="C:\dev\OpenSSL-Win32\lib\libeay32.lib" OPT_FEATURE_FLAGS="-DSQLITE_TEMP_STORE=2 -DSQLITE_HAS_CODEC=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_JSON1=1 -DSQLCIPHER_CRYPTO_OPENSSL=1 -IC:\dev\OpenSSL-Win32\include"
:: Run CMake for SQLCipher x86
CD C:\\builds
MKDIR "release-sqlcipher-win32"
CD "release-sqlcipher-win32"
cmake -G "Visual Studio 12 2013" -Wno-dev -Dsqlcipher=1 C:\\git_repos\\sqlitebrowser
:: Build package
devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD"
:: Rename SQLCipher
CD "Release"
MOVE "DB Browser for SQLite.exe" "DB Browser for SQLCipher.exe"
:: Build MSI
CD C:\\git_repos\\sqlitebrowser\\installer\\windows
CALL build_new.cmd win32
:: Move package to DEST_PATH
MOVE /Y *.msi "%DEST_PATH%\DB.Browser.for.SQLite-%RUN_DATE%-win32.msi"
:: Create ZIP
CD %DEST_PATH%
msiexec /a "DB.Browser.for.SQLite-%RUN_DATE%-win32.msi" /q TARGETDIR=%CD%\zip
MOVE %CD%\zip\System\* "%CD%\zip\DB Browser for SQLite"
%ZIP_EXE% a "DB.Browser.for.SQLite-%RUN_DATE%-win32.zip" "%CD%\zip\DB Browser for SQLite"
RMDIR /S /Q %CD%\zip
:: Upload the packages to the nightlies server
pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win32.*" nightlies@nightlies.sqlitebrowser.org:/nightlies/win32
:: Copy the new binaries to /latest directory on the nightlies server
plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cd /nightlies/latest; rm -f *-win32.*"
plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*SQLite-%RUN_DATE%-win32.msi /nightlies/latest/DB.Browser.for.SQLite-win32.msi"
plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*SQLite-%RUN_DATE%-win32.zip /nightlies/latest/DB.Browser.for.SQLite-win32.zip"

View File

@@ -0,0 +1,109 @@
:: Destination path - specify where to move package after build
SET DEST_PATH=C:\\builds
MKDIR "%DEST_PATH%"
SET ZIP_EXE="C:\Program Files\7-Zip\7z.exe"
SET SQLITE_DIR=C:\\dev\\SQLite-Win64
SET SQLCIPHER_DIR=C:\\git_repos\\SQLCipher-Win64
SET SQLCIPHER_TAG=v3.4.2
:: You need to change the date format in Windows settings to YYYY-MM-DD
:: before this will work properly. ;)
set RUN_DATE=%DATE%
:: If no branch given on the command line, use master
IF "%1"=="" (SET BRANCH="master") ELSE (SET BRANCH="%1")
CD /d "C:\"
if exist "%SQLITE_DIR%" rd /q /s "%SQLITE_DIR%"
if exist "C:\\builds\\release-sqlite-win64" rd /q /s "C:\\builds\\release-sqlite-win64"
if exist "C:\\builds\\release-sqlcipher-win64" rd /q /s "C:\\builds\\release-sqlcipher-win64"
:: Unpack SQLite
CD C:\dev
%ZIP_EXE% e sqlite*zip "-o%SQLITE_DIR%"
:: Update repositories
::git clone -b v3.4.2 https://github.com/sqlcipher/sqlcipher.git SQLCipher-Win64
CD C:\\git_repos\\SQLCipher-Win64
git clean -dffx
git checkout -f HEAD
git checkout master
git pull
git checkout "%SQLCIPHER_TAG%"
git clean -dffx
git pull
git clean -dffx
::git clone -b %BRANCH% https://github.com/sqlitebrowser/sqlitebrowser.git "%DB4S_DIR%Win64"
CD C:\\git_repos\\sqlitebrowser
git clean -dffx
git checkout -f HEAD
git checkout master
git pull
git checkout %BRANCH%
git clean -dffx
git pull
git clean -dffx
:: WIN64 SQLITE BUILD PROCEDURE
:: Set path variables
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
:: Build SQLite x64
CD %SQLITE_DIR%
cl sqlite3.c -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_JSON1 -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll
:: Run CMake for SQLite x64
CD C:\\builds
MKDIR "release-sqlite-win64"
CD "release-sqlite-win64"
cmake -G "Visual Studio 15 2017 Win64" -Wno-dev C:\\git_repos\\sqlitebrowser
:: Build package
devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD"
:: WIN64 SQLCIPHER BUILD PROCEDURE
:: Build SQLCipher x64
CD %SQLCIPHER_DIR%
nmake /f Makefile.msc sqlcipher.dll USE_AMALGAMATION=1 NO_TCL=1 SQLITE3DLL=sqlcipher.dll SQLITE3LIB=sqlcipher.lib SQLITE3EXE=sqlcipher.exe LTLINKOPTS="C:\dev\OpenSSL-Win64\lib\libeay32.lib" OPT_FEATURE_FLAGS="-DSQLITE_TEMP_STORE=2 -DSQLITE_HAS_CODEC=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_JSON1=1 -DSQLCIPHER_CRYPTO_OPENSSL=1 -IC:\dev\OpenSSL-Win64\include"
:: Run CMake for SQLCipher x64
CD C:\\builds
MKDIR "release-sqlcipher-win64"
CD "release-sqlcipher-win64"
cmake -G "Visual Studio 15 2017 Win64" -Wno-dev -Dsqlcipher=1 C:\\git_repos\\sqlitebrowser
:: Build package
devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD"
:: Rename SQLCipher
CD "Release"
MOVE "DB Browser for SQLite.exe" "DB Browser for SQLCipher.exe"
:: Build MSI
CD C:\\git_repos\\sqlitebrowser\\installer\\windows
CALL build_new.cmd win64
:: Move package to DEST_PATH
MOVE /Y *.msi "%DEST_PATH%\DB.Browser.for.SQLite-%RUN_DATE%-win64.msi"
:: Create ZIP
CD %DEST_PATH%
msiexec /a "DB.Browser.for.SQLite-%RUN_DATE%-win64.msi" /q TARGETDIR=%CD%\zip
MOVE %CD%\zip\System64\* "%CD%\zip\DB Browser for SQLite"
%ZIP_EXE% a "DB.Browser.for.SQLite-%RUN_DATE%-win64.zip" "%CD%\zip\DB Browser for SQLite"
RMDIR /S /Q %CD%\zip
:: Upload the packages to the nightlies server
pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win64.*" nightlies@nightlies.sqlitebrowser.org:/nightlies/win64
:: Copy the new binaries to /latest directory on the nightlies server
plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cd /nightlies/latest; rm -f *-win64.*"
plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*SQLite-%RUN_DATE%-win64.msi /nightlies/latest/DB.Browser.for.SQLite-win64.msi"
plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*SQLite-%RUN_DATE%-win64.zip /nightlies/latest/DB.Browser.for.SQLite-win64.zip"

View File

@@ -0,0 +1,236 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include variables.wxi ?>
<Product Id="*" UpgradeCode="124623D9-35D6-4D2E-9474-2ADACC8BABBB" Name="$(var.Name)" Manufacturer="$(var.Team)" Version="$(var.Version)" Language="1033">
<Package Id="*" Compressed="yes" InstallerVersion="301" InstallPrivileges="elevated" InstallScope="perMachine" />
<Media Id="1" Cabinet="Media.cab" EmbedCab="yes" CompressionLevel="high" />
<!--
Schedule="afterInstallInitialize"
Removes the installed product first then installs the new version, if the installation of the new version
fails, Windows Installer also rolls back the removal of the installed product, in other words, reinstalls it.
AllowSameVersionUpgrades="yes"
When upgrading products (using the same "UpgradeCode"), Windows Installer only check the first three version
fields (Major.Minor.Patch) to decide if it should upgrade the product or not. The nightly build version never
change and therefore "AllowSameVersionUpgrades" is required if we want to be able to update the installed
nightly version.
-->
<MajorUpgrade
Schedule="afterInstallInitialize"
AllowSameVersionUpgrades="yes"
DowngradeErrorMessage="A later version of $(var.Name) is already installed. Setup will now exit."
/>
<!-- ========================================= Add/Remove Programs ========================================= -->
<Icon Id="app.ico" SourceFile="$(var.AppIcon)" />
<Property Id="ARPPRODUCTICON" Value="app.ico" />
<Property Id='ARPCOMMENTS' Value="$(var.AppComments)" />
<Property Id='ARPCONTACT' Value="$(var.AppContact)" />
<Property Id='ARPREADME' Value="$(var.AppReadme)" />
<Property Id="ARPHELPLINK" Value="$(var.AppHelpLink)" />
<Property Id="ARPURLINFOABOUT" Value="$(var.AppSupportLink)" />
<Property Id="ARPURLUPDATEINFO" Value="$(var.AppUpdateInfoLink)" />
<SetProperty Id="ARPINSTALLLOCATION" Value="[INSTALLDIR]" After="CostFinalize" />
<!-- ================================================ Files ================================================ -->
<?if $(sys.BUILDARCH)="x64"?>
<?define ProgramFilesFolder="ProgramFiles64Folder" ?>
<?elseif $(sys.BUILDARCH)="x86"?>
<?define ProgramFilesFolder="ProgramFilesFolder" ?>
<?endif?>
<Directory Id="TARGETDIR" Name="SourceDir">
<Merge Id="VCRedist" SourceFile="$(var.VCRedistPath)\$(var.VCRedistFile)" DiskId="1" Language="0" />
<Directory Id="$(var.ProgramFilesFolder)">
<Directory Id="INSTALLDIR" Name="$(var.Name)">
<!--
This DLL is required when using Qt 5.10 and higher to show Windows Vista style GUI. The check for
64-bit is required here since we are using Qt 5.7 for the 32-bit build. This file does not exist
on earlier version of Qt. If Qt 5.10 is used for both 32-bit and 64-bit then this check can be removed.
See https://bugreports.qt.io/browse/QTBUG-65177
-->
<?if $(sys.BUILDARCH)="x64"?>
<Directory Id="styles" Name="styles">
<Component><File Source="$(var.QtPath)\plugins\styles\qwindowsvistastyle.dll" /></Component>
</Directory>
<?endif?>
<!-- This plugin is not needed for the 32-bit version which is built with Qt 5.7. -->
<?if $(sys.BUILDARCH)="x64"?>
<Directory Id="bearer" Name="bearer">
<Component><File Source="$(var.QtPath)\plugins\bearer\qgenericbearer.dll" /></Component>
</Directory>
<?endif?>
<Directory Id="imageformats" Name="imageformats">
<Component><File Source="$(var.QtPath)\plugins\imageformats\qgif.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qicns.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qico.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qjpeg.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qsvg.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qtga.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qtiff.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qwbmp.dll" /></Component>
<Component><File Source="$(var.QtPath)\plugins\imageformats\qwebp.dll" /></Component>
</Directory>
<Directory Id="platforms" Name="platforms">
<Component><File Source="$(var.QtPath)\plugins\platforms\qwindows.dll" /></Component>
</Directory>
<Directory Id="printsupport" Name="printsupport">
<Component><File Source="$(var.QtPath)\plugins\printsupport\windowsprintersupport.dll" /></Component>
</Directory>
<Directory Id="licenses" Name="licenses">
<Component><File Source="..\..\LICENSE" /></Component>
<Component><File Source="..\..\LICENSE-PLUGINS" /></Component>
</Directory>
<Component><File Source="$(var.QtPath)\bin\Qt5Concurrent.dll" /></Component>
<Component><File Source="$(var.QtPath)\bin\Qt5Core.dll" /></Component>
<Component><File Source="$(var.QtPath)\bin\Qt5Gui.dll" /></Component>
<Component><File Source="$(var.QtPath)\bin\Qt5Network.dll" /></Component>
<Component><File Source="$(var.QtPath)\bin\Qt5PrintSupport.dll" /></Component>
<Component><File Source="$(var.QtPath)\bin\Qt5Widgets.dll" /></Component>
<Component><File Source="$(var.QtPath)\bin\Qt5Xml.dll" /></Component>
<Component><File Source="$(var.OpenSSLPath)\libeay32.dll" /></Component>
<Component><File Source="$(var.OpenSSLPath)\ssleay32.dll" /></Component>
<Component><File Source="$(var.SQLCipherPath)\sqlcipher.dll" /></Component>
<Component><File Source="$(var.SQLitePath)\sqlite3.dll" /></Component>
<Component><File Source="$(var.SQLiteExePath)\DB Browser for SQLite.exe" Checksum="yes" /></Component>
<Component><File Source="$(var.SQLCipherExePath)\DB Browser for SQLCipher.exe" Checksum="yes" /></Component>
</Directory>
</Directory>
<Directory Id="DesktopFolder">
<Component Id="SQLiteDesktopShortcut">
<Shortcut Id="SLDSC" Name="DB Brwoser (SQLite)" Description="$(var.AppComments)" Target="[INSTALLDIR]DB Browser for SQLite.exe" WorkingDirectory="INSTALLDIR" />
<RegistryValue Root="HKLM" Key="Software\$(var.Name)" Name="SQLiteDesktopShortcut" Type="integer" Value="1" KeyPath="yes"/>
</Component>
<Component Id="SQLCipherDesktopShortcut">
<Shortcut Id="SCDSC" Name="DB Brwoser (SQLCipher)" Description="$(var.AppComments)" Target="[INSTALLDIR]DB Browser for SQLCipher.exe" WorkingDirectory="INSTALLDIR" />
<RegistryValue Root="HKLM" Key="Software\$(var.Name)" Name="SQLCipherDesktopShortcut" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</Directory>
<Directory Id="ProgramMenuFolder">
<Component Id="SQLiteProgramMenuShortcut">
<Shortcut Id="SLPMSC" Name="DB Brwoser (SQLite)" Description="$(var.AppComments)" Target="[INSTALLDIR]DB Browser for SQLite.exe" WorkingDirectory="INSTALLDIR" />
<RegistryValue Root="HKLM" Key="Software\$(var.Name)" Name="SQLiteProgramMenuShortcut" Type="integer" Value="1" KeyPath="yes"/>
</Component>
<Component Id="SQLCipherProgramMenuShortcut">
<Shortcut Id="SCPMSC" Name="DB Brwoser (SQLCipher)" Description="$(var.AppComments)" Target="[INSTALLDIR]DB Browser for SQLCipher.exe" WorkingDirectory="INSTALLDIR" />
<RegistryValue Root="HKLM" Key="Software\$(var.Name)" Name="SQLCipherProgramMenuShortcut" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</Directory>
</Directory>
<!-- ============================================== Features =============================================== -->
<Feature Id="Complete" Title="$(var.Name)" Description="The complete package" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no" Display="expand">
<Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden">
<MergeRef Id="VCRedist"/>
</Feature>
<Feature Id="Shortcuts" Title="Shortcuts" Description="Show shortcuts for the application in different locations" AllowAdvertise="no" Display="expand">
<Feature Id="SQLiteShortcuts" Title="SQLite" Description="SQLite is a self-contained, high-reliability, embedded, full-featured, public-domain, SQL database engine." AllowAdvertise="no">
<ComponentRef Id="SQLiteDesktopShortcut" />
<ComponentRef Id="SQLiteProgramMenuShortcut" />
</Feature>
<Feature Id="SQLCipherShortcuts" Title="SQLCipher" Description="SQLCipher is an SQLite extension that provides 256 bit AES encryption of database files." AllowAdvertise="no">
<ComponentRef Id="SQLCipherDesktopShortcut" />
<ComponentRef Id="SQLCipherProgramMenuShortcut" />
</Feature>
</Feature>
<!-- Translations -->
<ComponentGroupRef Id="TranslationsGroup" />
<!-- Bearer -->
<?if $(sys.BUILDARCH)="x64"?>
<ComponentRef Id="qgenericbearer.dll" />
<?endif?>
<!-- Plugins -->
<ComponentRef Id="qgif.dll" />
<ComponentRef Id="qicns.dll" />
<ComponentRef Id="qico.dll" />
<ComponentRef Id="qjpeg.dll" />
<ComponentRef Id="qsvg.dll" />
<ComponentRef Id="qtga.dll" />
<ComponentRef Id="qtiff.dll" />
<ComponentRef Id="qwbmp.dll" />
<ComponentRef Id="qwebp.dll" />
<!-- Platforms -->
<ComponentRef Id="qwindows.dll" />
<!-- Windows Vista Style -->
<?if $(sys.BUILDARCH)="x64"?>
<ComponentRef Id="qwindowsvistastyle.dll" />
<?endif?>
<!-- Printer -->
<ComponentRef Id="windowsprintersupport.dll" />
<!-- Licenses -->
<ComponentRef Id="LICENSE" />
<ComponentRef Id="LICENSE_PLUGINS" />
<!-- Qt -->
<ComponentRef Id="Qt5Concurrent.dll" />
<ComponentRef Id="Qt5Core.dll" />
<ComponentRef Id="Qt5Gui.dll" />
<ComponentRef Id="Qt5Network.dll" />
<ComponentRef Id="Qt5PrintSupport.dll" />
<ComponentRef Id="Qt5Widgets.dll" />
<ComponentRef Id="Qt5Xml.dll" />
<!-- OpenSSL -->
<ComponentRef Id="libeay32.dll" />
<ComponentRef Id="ssleay32.dll" />
<!-- SQLite & SQLCipher -->
<ComponentRef Id="sqlcipher.dll" />
<ComponentRef Id="sqlite3.dll" />
<!-- Application -->
<ComponentRef Id="DB_Browser_for_SQLite.exe" />
<ComponentRef Id="DB_Browser_for_SQLCipher.exe" />
</Feature>
<!-- ============================================= Installation UI ============================================= -->
<!-- Dialog Set -->
<UIRef Id="WixUI_FeatureTree" />
<!-- License file -->
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<!-- Banner image -->
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
<!-- Background image -->
<WixVariable Id="WixUIDialogBmp" Value="background.bmp" />
<!-- Optional text, shown at the end of installation -->
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Thank you for installing $(var.Name)." />
<!-- ===================================== Run the application after setup ===================================== -->
<!-- http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html -->
<!-- Step 1: Add the checkbox, and select it, at the end of installation -->
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Run $(var.Name)" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<!-- Step 2: Include the custom Action -->
<Property Id="WixShellExecTarget" Value="[#DB_Browser_for_SQLite.exe]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
<!-- Step 3: Trigger the custom action -->
<UI><Publish Control="Finish" Dialog="ExitDialog" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish></UI>
<!-- ================================================= Logging ================================================= -->
<!-- Enable verbose logging during installation. The log file is named MSI*.LOG and located in %TEMP% folder. -->
<Property Id="MsiLogging" Value="voicewarmupx" />
</Product>
</Wix>

View File

@@ -59,11 +59,15 @@
<?define SQLitePath="C:\dev\SQLite-Win64" ?>
<?define SQLCipherPath="C:\git_repos\SQLCipher-Win64" ?>
<?define OpenSSLPath="C:\dev\OpenSSL-Win64" ?>
<?define SQLiteExePath="C:\builds\release-sqlite-win64\Release" ?>
<?define SQLCipherExePath="C:\builds\release-sqlcipher-win64\Release" ?>
<?elseif $(sys.BUILDARCH)="x86"?>
<?define QtPath="C:\dev\Qt\5.7\msvc2013" ?>
<?define SQLitePath="C:\dev\SQLite-Win32" ?>
<?define SQLCipherPath="C:\git_repos\SQLCipher-Win32" ?>
<?define OpenSSLPath="C:\dev\OpenSSL-Win32" ?>
<?define SQLiteExePath="C:\builds\release-sqlite-win32\Release" ?>
<?define SQLCipherExePath="C:\builds\release-sqlcipher-win32\Release" ?>
<?endif?>
</Include>