mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-29 20:37:24 -06:00
Microsoft "Single Package Authoring": Package/Scope="perUserOrMachine" writes ALLUSERS=2 and MSIINSTALLPERUSER=1, so the package installs per-user by default (no UAC prompt) into %LOCALAPPDATA%\Programs\ArtCraftPhotoCraft (Windows Installer redirects the ProgramFiles folder in a per-user install), and per-machine into Program Files\ArtCraft\PhotoCraft through the setup wizard's "Install for all users" box or msiexec ALLUSERS=1. Registry follows the context automatically: HKMU writes HKCU per-user and HKLM per-machine, HKCR classes land in HKCU\Software\Classes per-user, and components are keyed on registry values (ICE38). Upgrades update the copy registered in the same context: the remembered InstallDir is read from HKLM and HKCU separately, and installing in the other context while a copy already exists is stopped with a message naming the fix rather than creating a silent duplicate. The existing UpgradeCode, ProductCode behaviour and per-machine upgrades are unchanged. The Start Menu shortcut becomes non-advertised in its own component (an advertised shortcut must target its component keypath, which is now a registry value), as the ArtCraft Launcher's MSI already does. Built and checked with WiX 5.0.2: full ICE validation and ICE50 pass, and the built package's Property table, launch conditions, directory chain and registry roots were read back from the MSI.