ZRCola/include/MSIBuildCfg.mak
Simon Rozman 867ab0f149 Fix upgrading from previous version
As the language and platform-dependent component GUIDs changed and we
wish to retain the original destination folders and filenames the
RemoveExistingProducts custom action is now invoked differently
according to the version of the product we are upgrading.

When we are upgrading an old package with legacy component GUIDs, we're
uninstalling it before installing the new one.

When we will be upgrading a modern package with platform/language
dependent component GUIDs, we will remove the leftover components after
installing the new one.

This should deliver compatible upgrades of existing versions while
providing optimal upgrading in the future.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-15 19:08:00 +01:00

172 lines
9.7 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# Copyright 1991-2020 Amebis
#
# This file is part of ZRCola.
#
# ZRCola is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# ZRCola is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
#
######################################################################
# MSI General Package Information
MSIBUILD_PRODUCT_NAME=ZRCola
!IF "$(LANG)" == "de_DE"
MSIBUILD_LANGID=1031
MSIBUILD_LANG_GUID=0407
MSIBUILD_CODEPAGE=1252
!ELSEIF "$(LANG)" == "ru_RU"
MSIBUILD_LANGID=1049
MSIBUILD_LANG_GUID=0419
MSIBUILD_CODEPAGE=1251
!ELSEIF "$(LANG)" == "sl_SI"
MSIBUILD_LANGID=1060
MSIBUILD_LANG_GUID=0424
MSIBUILD_CODEPAGE=1250
!ELSE
LANG=en_US
MSIBUILD_LANGID=1033
MSIBUILD_LANG_GUID=0409
MSIBUILD_CODEPAGE=1252
!ENDIF
######################################################################
# The base name of the output MSI file
MSIBUILD_TARGET=$(MSIBUILD_PRODUCT_NAME).$(LANG).
!IF "$(PLAT)" == "x64"
MSIBUILD_TARGET=$(MSIBUILD_TARGET)64
!ELSE
PLAT=Win32
MSIBUILD_TARGET=$(MSIBUILD_TARGET)32
!ENDIF
!IF "$(CFG)" == "Debug"
MSIBUILD_TARGET=$(MSIBUILD_TARGET)D
!ELSE
CFG=Release
!ENDIF
######################################################################
# Path to version file
# (relative from MSIBuild\Version folder)
MSIBUILD_VERSION_FILE=..\..\..\include\version.h
######################################################################
# Working/output folder for building MSI file
# (relative from MSIBuild folder)
MSIBUILD_OUTPUT_DIR=..\..\output
######################################################################
# Path to MSIBuild folder
# (relative from ZRCola folder)
MSIBUILD_ROOT=..\MSIBuild
######################################################################
# GUID used to determine MSI upgrade logic
!IF "$(PLAT)" == "x64"
MSIBUILD_PLAT_GUID=1
!ELSE
MSIBUILD_PLAT_GUID=0
!ENDIF
MSIBUILD_UPGRADE_GUID={93842963-99A8-4850-AA4$(MSIBUILD_PLAT_GUID)-DC4944754706}
MSIBUILD_REMOVE_BEFORE_INSTALL_CONDITION=OLDPRODUCTFOUND1
######################################################################
# Minimum MSI version required to install this package
MSIBUILD_MSI_VERSION_MIN=200
######################################################################
# Length of ID and help fields in MSI tables (in characters)
MSIBUILD_LENGTH_ID=128
MSIBUILD_LENGTH_HELP=256
######################################################################
# Should MSIBuild compress files into CAB itself?
#MSIBUILD_COMPRESS=1
######################################################################
# Trigger per-user setup on logon (Active Setup)
MSIBUILD_HAS_ACTIVE_SETUP=1
######################################################################
# Prevent installation of 32-bit MSI on 64-bit Windows
MSIBUILD_HAS_X64=1
MSIBUILD_NO_WOW64=1
######################################################################
# Component and registry settings (platform dependant)
!IF "$(PLAT)" == "x64"
MSIBUILD_COMPONENT_ATTRIB_FILE=256
MSIBUILD_COMPONENT_ATTRIB_REGISTRY=260
MSIBUILD_REG32_RELOCATION=\Wow6432Node
!ELSE
MSIBUILD_COMPONENT_ATTRIB_FILE=0
MSIBUILD_COMPONENT_ATTRIB_REGISTRY=4
MSIBUILD_REG32_RELOCATION=
!ENDIF
######################################################################
# List of modules to compile and include in link
MSIBUILD_MODULES=\
"$(MSIBUILD_ROOT)\Core\$(LANG).$(PLAT).$(CFG).msm" \
"$(MSIBUILD_ROOT)\Version\$(LANG).$(PLAT).$(CFG).msm" \
"$(MSIBUILD_ROOT)\UI\$(LANG).$(PLAT).$(CFG).msm" \
"..\MSICA\lib\MSICALib\MSIBuild\$(LANG).$(PLAT).$(CFG).msm" \
"..\MSICA\MSICA\MSIBuild\$(LANG).$(PLAT).$(CFG).msm" \
"..\..\Updater\Updater\MSIBuild\$(LANG).$(PLAT).$(CFG).msm" \
"..\..\Updater\UpdCheck\MSIBuild\$(LANG).$(PLAT).$(CFG).msm" \
"..\..\lib\libZRColaUI\MSIBuild\$(LANG).$(PLAT).$(CFG).msm" \
"..\..\lib\wxExtend\MSIBuild\$(LANG).$(PLAT).$(CFG).msm" \
"..\..\ZRCola\MSIBuild\$(LANG).$(PLAT).$(CFG).msm" \
"Main\$(LANG).$(PLAT).$(CFG).msm"
######################################################################
# wxExtend Module
WXEXTEND_STATIC=1
WXEXTEND_BIN_DIR=ZRCOLABINDIR
WXEXTEND_LOC_DIR=ZRCOLALOCDIR
######################################################################
# Updater Module
UPDATER_FEATURE=
UPDATER_BIN_DIR=ZRCOLABINDIR
UPDATER_LOC_DIR=ZRCOLALOCDIR
UPDATER_VERSION=ZRCola