Repair corrupts msi database on Vista

G

Guest

After reinstalling on Vista (either from an
auto-repair or Programs and Features -repair/reinstall)
1.) The product dissapears from the "Programs and Features" list
2.) A look within the generated MsiLogfile: MSI (s) (F4:58) [12:06:37:923]:
Unexpected
or missing value (name: 'PackageName', value: '') in key
'HKU\S-1-5-21-81160459-425490876-1555627865-1000\Software\Microsoft\Installer\Products\7A3599A973516484FA28F24336EE06F0\SourceList'
3.) Launching the product initiates an auto-repair (endless loop)
4.) Attempting to remove the product via commandline (msiexec /X
{ProductCode} fails with an upfront error: "...the database is corrupt..."
I'm pretty sure the root of the problem stems from the following within the
msi logfile: Unexpected or missing value (name: 'PackageName', value: '') .

What is going on, and what can I do to solve this? It seems to be rights
issue.

If I run the Setup.exe bootstrap (which is signed and contains Admin-req
within the included manifest, prompting a UAC dialog), then the repair
performs perfectly. Is there a way to require all repairs (auto included) to
only run elevated (ie: UAC prompted)?

The msi installation was made with InstallShield 2008. This installer
functions perfectly on non-Vista machines... and has so for 3 years.
Thanks
 
G

Guest

This is definately a rights issue. Running through these tests on a clean
machine that had UAC disabled works perfectly... no problems. It's possible
that if all of my EXEs contained an embedded manifest requiring admin... that
everything would also work, although I haven't tested that scenario yet.

It seems that the ARP-repair and auto-repair should run elevated, prompting
for admin-allow... but it doesn't.

Any ideas how I can fix this horrible auto-repair problem?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top