I installed msi package for single user in C:\Users\user_name\AppData\Local\Apps. Installation didn't require elevated privileges, but when I want update this package using command:
MSIExec /fvamus xxx.msi REINSTALL=ALL /l*xv runmsi.log
the UAC prompt appears.
Update log contains information that elevation is not required:
MSI (s) (C4:F0) [07:44:31:503]: Determined that existing product (either this product or the product being upgraded with a patch) is a dual mode package installed in per-user mode.
[...]
MSI (s) (C4:F0) [07:44:31:504]: MSI_LUA: Package is a dual mode package and is being installed in Per-User mode. No elevation is required.
[...]
MSI (s) (C4:F0) [07:44:32:072]: MSI_LUA: Entering Credential Request. hwnd = 1376978, MsiAction = 3, productname = X, version = 5.1.0.0201, language = 1045, manufacturer = X
MSI (s) (C4:F0) [07:44:32:072]: MSI_LUA: (continued)... packagepath = C:\WINDOWS\Installer\1ac6cc.msi, packagesource = C:\Users\xxx\Temp\xxx_update\xxx.msi, dwUpdates = 0
MSI (s) (C4:F0) [07:44:33:242]: MSI_LUA: Credential Request return = 0x800704C7
Installed package and updated package are signed with same, correct certificate. I tested this scenario on Windows 10 with Anniversary Update.
User contributions licensed under CC BY-SA 3.0