165 Commits

Author SHA1 Message Date
05edc2b598 Hardcode MSIBUILD_OUTPUT_DIR and MSIBUILD_ROOT
KISS!!!

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-12-01 12:50:20 +01:00
6c4fb844fc Force SHA-256 timestamp
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-12-01 12:23:33 +01:00
ecb36c4fa8 Open-code CAB.mak
All other MSI compilations are open-coded but this one.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-12-01 12:17:59 +01:00
50a0c09ec6 Add support for MUI shortcuts
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-23 11:29:59 +01:00
ac5ec66f3e Switch to SPDX license notice
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-22 13:02:04 +01:00
a53c4e2b87 Report .idt filename that threw exception
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-19 13:45:23 +01:00
ff40e60196 Cleanup 2021-11-19 13:45:23 +01:00
4c8ef11e9b Resolve charset .idtx/.idt confusion
NMake inline files are always created using ACP. The "1252" in the .idtx
header has no effect on this. However, we must encode the .idt files
using correct charset/codepage regardless the ACP being used on the
building machine.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-19 13:45:23 +01:00
f68cad560a Use environment to detect MSI tools path
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-10 09:42:09 +01:00
2036f3bc8a Strip digital signature from the JScript file
The JScript files are not deployed and used over web. When used locally,
Windows does not check the signature anyway.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 08:39:29 +01:00
969c217511 Copyright: Bump year
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 08:32:22 +01:00
538cea0945 Unify platform order
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-14 23:54:07 +01:00
e1a0146570 PackageGUID.mak moved to %TEMP%
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 13:44:27 +01:00
f579c02fb3 Discontinue MSIBUILD_TARGET
The packaging files are now output using a predictable
"$(PKG)$(LANG).$(PLAT).$(CFG)" filenames.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 12:04:14 +01:00
d3f888a936 Drop MSIBUILD_MSM_BASE to unify with other Makefiles
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 12:04:14 +01:00
152cb014ab Optimize cleaning
NMAKE invocations are costly (slow, no-parallel support).

Rather than pinpoint cleaning of each combination of $(PKG), $(LANG),
$(PLAT) and $(CFG) related files, we do the wildcard cleaning of all
$(PKG) related files.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 12:04:14 +01:00
f124bc89ad Makefile: Optimize building
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 12:04:14 +01:00
85aa175000 Add multiple MSI packages support
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 12:04:04 +01:00
29009bb892 Pull translations from Transifex
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 08:50:20 +01:00
e1b7fb9642 Strip excessive custom action identifier prefixes
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-24 16:59:52 +01:00
b650d5ec42 Update translation templates
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-24 15:50:07 +01:00
c628408b8f Strip stale digital signatures and excessive UTF-8 BOM
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-24 15:45:02 +01:00
093c38e432 Merge Active Setup JScript files
Having custom actions as JScript functions results in less clutter.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-24 15:44:59 +01:00
881fd62d24 Fix StubPath for products in ACTIVESETUPFAULTYPRODUCTS
The products using Active Setup prior to
18cd389029502ec73da4b62ecdc1792ebdb805f8 upgrade are prone to uninstall
failure because of the missing StubPath value in the registry.

Author the Upgrade table of the package to have those products listed in
a property called `ACTIVESETUPFAULTYPRODUCTS` to inject StubPath in the
registry before RemoveExistingProducts.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-24 13:50:27 +01:00
46927de545 Sequence RemoveExistingProducts dynamically at run-time
With ZRCola we renumbered the component GUIDs to group them by platform/
language. However, they are the very same files and calling
RemoveExistingProducts after the upgrade is finished treats those
components as orphaned and removes the just installed files.

Fortunately, if we sequence the RemoveExistingProducts before the
upgrade, it completely removes all components then installs the new
ones. Unfortunately, sequencing RemoveExistingProducts before the
upgrade is sub-optimal on minor upgrades.

This commit extends the InstallExecuteSequence table key to allow the
same custom action appear multiple times and introduces conditioning.

This way the upgrade process can switch between "remove old, install
new" and "install new, remove old" strategy in run-time based on a
condition. The condition is usually a property from the Upgrade table
that is bound to a product upgrade GUID that requires "remove old,
install new" to upgrade properly.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-24 12:59:54 +01:00
836708c45b Pull translations from Transifex
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-03 10:44:40 +01:00
40fed25c89 Use 64-bit WSH on ARM64
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-10 09:15:49 +01:00
42a4d36cfe Remove excessive UTF-8 BOM marker
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-09 16:33:30 +01:00
18cd389029 Ignore StubPath deletion failures on uninstall
Custom action failure can prevent uninstall to finish and trigger a
rollback.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-03 12:53:11 +01:00
024d705cce Bump Active Setup version on install only
Otherwise, "msiexec /fu" keeps triggering on each user logon.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-03 12:50:25 +01:00
7e69fd6005 Update Copyright year
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-03 12:32:39 +01:00
320f7e9ee5 Clean-up localization templates
Localization templates were set to sl_SI by accident, causing Poedit to
fill translations from TM on updates. This disturbs Transifex.
2018-11-23 08:54:53 +01:00
dee59f333b Simplify Active Setup custom action names
The "ca" prefix is redundant.
2018-11-22 11:06:58 +01:00
521b987137 Merge branch 'master' of https://github.com/Amebis/MSIBuild 2018-11-22 10:29:15 +01:00
bd7bf7fec7 Introduce support for Microsoft Active Setup 2018-11-22 10:28:55 +01:00
332709b1d0 Force SHA-256 digest for timestamp signatures
Comodo timestamp server defaults to SHA-1. To make sure timestamp
signatures are SHA-256, add appropriate signtool.exe flag.
2018-11-06 16:42:10 +01:00
17bf10bb2c Update translations 2018-11-06 15:31:57 +01:00
06230f6ebd Switch to independent Transifex project for localization 2018-09-19 12:12:03 +02:00
c48b64a64a Extend copyright year 2018-09-07 23:54:14 +02:00
3701db4606 Convert CAB name to MSI-compliant identifier when embedding
When CAB filename does not conform to MSI identifier, the filename must
not be used as a CAB ID directly.
2018-09-07 10:39:06 +02:00
aa5314abcd Add support for ARM64 2018-09-07 10:30:45 +02:00
951fbec79d Enlarge icons for high-DPI displays
MSI has a very simple icon support (it loads only single image out of
available image set, it always loads the first one or the one with the
exactly specified 16/32/48px size...). Therefore GUI icons were
simplified to contain 64x64px image only and MSI controls updated to use
centering/down-scaling.
2018-07-17 12:26:58 +02:00
bd107af75b Display UAC shield on buttons that will require elevation
The maintenance dialog (Change/Repair/Remove) is a bit more convoluted.
We'd need to replace the radio-button selection with a three push-
buttons solution to make things easier. To make things worse, Change and
Repair don't seem to require elevation. Only Remove. This would make the
three push-button solution look ugly. Fortunately, not many people
wonder into the maintenance dialog. Therefore, we shall leave things
there as they are for the time being.
2018-07-17 12:10:57 +02:00
5afb9b339f Switch to SHA-256 signing of MSI files
This breaks support for Windows Vista.
2018-07-04 11:01:49 +02:00
1dda7ea237 Import translations from Transifex 2018-07-04 10:00:53 +02:00
6cb387cb8f Merge branch 'master' of https://github.com/Amebis/MSIBuild 2018-06-20 11:51:19 +02:00
cd0aec9bbb Update translations 2018-06-20 11:51:07 +02:00
a467b5b312 Update nl_NL.po (POEditor.com) 2018-01-12 08:00:59 +01:00
61bca29e40 Update digital signatures 2017-12-22 08:39:00 +01:00
cc374d5acb Translation update 2017-05-30 12:31:58 +02:00