Why won't Windows Installer use the UI in the

2019-02-25 18:03发布

问题:

Has anyone been able to get Windows Installer to use the InstallUISequence table during removal?

I started with an MSI file produced by the Visual Studio msi builder, decompiled it into WiX source code and handcrafted it, but I cannot get the installer to use my UI during removal. It insists on using a default UI provided by Windows Installer.

I have also analyzed several MSI files, and I have been unable to find one where Windows Installer will use the provided UI during removal.

I captured the msiexec logs during removal, and sure enough, Windows Installer appears to be ignoring the InstallUISequence table.

It seems that msiexec runs with minimal UI during removal. If I specify the /qf switch (use full UI) during removal, then Windows Installer does take the UI from the .msi file. However, this doesn't help the regular user, because she won't do the removal from msiexec.

Does anyone know of a way to convince Windows Installer to use the UI in the MSI file by default?

回答1:

When removing an application from Add/Remove Programs, this will always run with "basic" UI.

You can't make uninstall run with full UI, the best you can do is prevent removal and force people to 'modify' (which does run with UI) and remove from there.

Whatever you do, there's still no way to prevent someone right clicking on the original MSI and selecting 'Remove', this will always run with basic UI.



回答2:

The "Why" is basically because Microsoft says so. :-) Can't say I disagree as I get annoyed when ISV's get all cute when I'm just trying to remove a program.