installer - Wix toolset: complete cleanup after "disallowing uninstallation of component since another client exists" -
Today I came to know that my installer does not uninstall correctly. My app means that the control panel is no longer visible after uninstall, but all the files are still present. I looked at the log files and I am not allowed to uninstall many "components because other clients are present", which means that apac means I clean my system.
So what's the best way to clean and stop my PC from being in the future? What could have caused this? The APAIIK did not completely uninstall the previous version of my app due to this error?
Unfortunately, the use of VM is not possible due to various reasons.
FYI: For the purposes of development and testing, I usually test the installer with 1.0.xxxxx and I create, where xxxxx often remains the same. My upgrade code is always the same, apart from this, I am using heat and wherever possible I allow myself to automatically generate GUIDs, besides I have a CA, after my installation, remade files and execution of a batch file To modify (Registry entries using powercfg) To uninstall an modified registry entry, a .aag file is run to import (because they will be uninstalled by Vicks).
It seems that you uninstall the features The Windows Installer has an API to query components, features, and products. YX Toolset has included a cover around the API named DTF. You can use it to query the features by component
Therefore, break your favorite NAT script runner (mine) and one Run the query. For example, to learn how to remove "candle.exe":
// Using System.Linq; // Using Microsoft.Deployment.WindowsInstaller; // & lt; Ref & gt; "C: \ Program Files (x86) \ wx devicesetv3.8 \ sdk \ Microsoft.Deployment.WindowsInstaller.dll" & lt; / Ref & gt; (C = & gt; c.State == InstallState.Local). Where (C => C. Path. ToLowerInvariant (Android). (@ "\ Candle.exe")). Select multiple (C = & gt; c.ClientProducts. (P = & gt; p.features.where (f = & gt; f.Usage.UseCount & gt; 0). Select (F => New {C.path, f.FeatureName, p. LocalPackage, p.UserSid, p.ProductCode}))
Then, to remove all the features of the products, msiexec / x & lt; ProductCode & gt;
play
or MSIXAC / I & lt; Local Package & gt; To remove the components that install the component, remove = & lt; FeatureName & gt;
.
Comments
Post a Comment