I have an installed product that has somehow gotten into a state in which the advertised shortcuts will trigger self healing twice and then quit. This all used to work fine, but now uninstall also won't remove the files and I can't seem to get back to a clean state.
When self healing is triggered there is an MsiInstaller 1001 Warning event: Detection of product '{79D7389C-5858-48EE-B250-E84E789F8683}', feature 'CurrentUser' failed during request for component '{789CBE30-0F16-46CA-BA06-464AD61A458E}'
The component GUID is my MainExe Component:
<Component Id="MainExe" Guid="{789CBE30-0F16-46CA-BA06-464AD61A458E}">
<File Id="MyProgram.exe" Name="MyProgram.exe" Source="MyProgram.exe" KeyPath="yes" />
<Shortcut Id="StartMenuShortcut" Name="My Program" Directory="StartMenuDir" Icon="Icon.exe" IconIndex="0" Advertise="yes" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<Shortcut Id="DesktopShortcut" Name="My Program" Directory="DesktopFolder" Icon="Icon.exe" IconIndex="0" Advertise="yes" WorkingDirectory="APPLICATIONROOTDIRECTORY" />
</Component>
There are no other Warning events.
The MSI log for the initial installation shows:
MSI (s) (CC:64) [10:46:53:357]: Feature: CurrentUser; Installed: Absent; Request: Local; Action: Local
MSI (s) (CC:64) [10:46:53:357]: Feature: CoreFiles; Installed: Absent; Request: Local; Action: Local
MSI (s) (CC:64) [10:46:53:357]: Feature: InstallerUI; Installed: Absent; Request: Local; Action: Local
MSI (s) (CC:64) [10:46:53:357]: Component: MainExe; Installed: Absent; Request: Local; Action: Local; Client State: Unknown
Yet the MSI log for the repair shows:
MSI (s) (CC:EC) [10:47:50:769]: Feature: CurrentUser; Installed: Advertise; Request: Local; Action: Local
MSI (s) (CC:EC) [10:47:50:770]: Feature: CoreFiles; Installed: Advertise; Request: Local; Action: Local
MSI (s) (CC:EC) [10:47:50:770]: Feature: InstallerUI; Installed: Advertise; Request: Local; Action: Local
MSI (s) (CC:EC) [10:47:50:770]: Component: MainExe; Installed: Absent; Request: Local; Action: Local; Client State: Unknown
I tried running the Unadvertise Features script but it tells me:
$ cscript.exe //nologo Unadvertise.wsf /ProductCode:{79D7389C-5858-48EE-B250-E84E789F8683}
Checking if product {79D7389C-5858-48EE-B250-E84E789F8683} is installed
Product {79D7389C-5858-48EE-B250-E84E789F8683} is installed as AAA My Program
Checking for advertised features in product {79D7389C-5858-48EE-B250-E84E789F8683}
Found feature CurrentUser : Local
Found feature CoreFiles : Local
Found feature InstallerUI : Local
Product {79D7389C-5858-48EE-B250-E84E789F8683} does not have advertised features
How do I diagnose the issue, or at least clean the state of this product? Again, uninstall now does not remove the files, and does not solve the problem.