Hi Everyone, We faced one problem on one of our product's release and can't solve it since then. There is red UAC during the minor upgrade (updating through msp) of the product. Firstly it has appeared after one of updates we made was released by major upgrade (service pack). The problem appears due to SECREPAIR which compares hashes of msi and SourceHash file in %windir%\installer.
MSI (s) (84:34) [11:25:01:934]: SECREPAIR: CryptAcquireContext succeeded
MSI (s) (84:34) [11:25:01:934]: Determining source type
MSI (s) (84:34) [11:25:01:934]: Source type from package 'programx64.msi': 0
MSI (s) (84:34) [11:25:01:934]: SECREPAIR: Hash Database: C:\Windows\Installer\SourceHash{%productcode%}
MSI (s) (84:34) [11:25:02:091]: SECREPAIR: filename: programx64.msi Stored Hash Value:E13ufFAL3Gug2QdhLs2qMdURLXPZ3LPqAhjk2J9+h4A= Current Hash:rtNqARhPNpvF3nKuGcq+Xv6vQQ2BuVNjHNecQni4DEA=
MSI (s) (84:34) [11:25:02:091]: Machine policy value 'AlwaysInstallElevated' is 0
MSI (s) (84:34) [11:25:02:091]: User policy value 'AlwaysInstallElevated' is 0
MSI (s) (84:34) [11:25:06:596]: MSI_LUA: Credential Request return = 0x0
MSI (s) (84:34) [11:25:06:596]: MSI_LUA: Elevated credential consent provided. Install will run elevated
The question is how to solve the problem and do not show Red UAC Screen to users who updating the product? Is there a way to re-write SourceHash file with one of msiexec options or maybe there is helpful MSI API function for this issue?