对于我的一些基于WiX的安装程序,我正面临这种奇怪的行为。安装后,如果我尝试通过添加删除程序(Windows 7中的程序和功能)使用右键菜单并选择卸载(此默认BTW)删除,它只显示一个立即退出的进度对话框程序永远不会卸载并保持不变。
使用
时会出现相同的行为msiexec / x {ProductCode}
(或Product.msi)
但是,使用右键菜单,选择更改,然后从维护对话框,选择删除,将其完全卸载。
以下是InstallUISequence和InstallExecuteSequence的代码:
<InstallUISequence>
<Custom Before="CostFinalize" Action="CheckPreReqs" />
<Show Dialog="MaintenanceWelcomeDlg"
Overridable="yes"
Sequence="1230">Installed And Not RESUME And Not Preselected And Not PATCH</Show>
</InstallUISequence>
<InstallExecuteSequence>
<ScheduleReboot Sequence="6410">ISSCHEDULEREBOOT</ScheduleReboot>
<LaunchConditions Sequence="410">Not Installed</LaunchConditions>
<FindRelatedProducts Sequence="420">NOT ISSETUPDRIVEN</FindRelatedProducts>
<AppSearch Sequence="400" />
<CCPSearch Sequence="500">CCP_TEST</CCPSearch>
<RMCCPSearch Sequence="600">Not CCP_SUCCESS And CCP_TEST</RMCCPSearch>
<ValidateProductID Sequence="700" />
<CostInitialize Sequence="800" />
<FileCost Sequence="900" />
<IsolateComponents Sequence="950" />
<CostFinalize Sequence="1000" />
<SetODBCFolders Sequence="1100" />
<MigrateFeatureStates Sequence="1200" />
<InstallValidate Sequence="1400" />
<InstallInitialize Sequence="1501" />
<AllocateRegistrySpace Sequence="1550">NOT Installed</AllocateRegistrySpace>
<ProcessComponents Sequence="1600" />
<UnpublishComponents Sequence="1700" />
<UnpublishFeatures Sequence="1800" />
<StopServices Sequence="1900">VersionNT</StopServices>
<DeleteServices Sequence="2000">VersionNT</DeleteServices>
<UnregisterComPlus Sequence="2100" />
<SelfUnregModules Sequence="2200" />
<UnregisterTypeLibraries Sequence="2300" />
<RemoveODBC Sequence="2400" />
<UnregisterFonts Sequence="2500" />
<RemoveRegistryValues Sequence="2600" />
<UnregisterClassInfo Sequence="2700" />
<UnregisterExtensionInfo Sequence="2800" />
<UnregisterProgIdInfo Sequence="2900" />
<UnregisterMIMEInfo Sequence="3000" />
<RemoveIniValues Sequence="3100" />
<RemoveShortcuts Sequence="3200" />
<RemoveEnvironmentStrings Sequence="3300" />
<RemoveDuplicateFiles Sequence="3400" />
<RemoveFiles Sequence="3500" />
<RemoveFolders Sequence="3600" />
<CreateFolders Sequence="3700" />
<MoveFiles Sequence="3800" />
<InstallFiles Sequence="4000" />
<DuplicateFiles Sequence="4210" />
<PatchFiles Sequence="4090" />
<BindImage Sequence="4300" />
<CreateShortcuts Sequence="4500" />
<RegisterClassInfo Sequence="4600" />
<RegisterExtensionInfo Sequence="4700" />
<RegisterProgIdInfo Sequence="4800" />
<RegisterMIMEInfo Sequence="4900" />
<WriteRegistryValues Sequence="5000" />
<WriteIniValues Sequence="5100" />
<WriteEnvironmentStrings Sequence="5200" />
<RegisterFonts Sequence="5300" />
<InstallODBC Sequence="5400" />
<RegisterTypeLibraries Sequence="5500" />
<SelfRegModules Sequence="5600" />
<RegisterComPlus Sequence="5700" />
<InstallServices Sequence="5800">VersionNT</InstallServices>
<StartServices Sequence="5900">VersionNT</StartServices>
<RegisterUser Sequence="6000" />
<RegisterProduct Sequence="6100" />
<PublishComponents Sequence="6200" />
<PublishFeatures Sequence="6300" />
<PublishProduct Sequence="6400" />
<InstallFinalize Sequence="6600" />
<RemoveExistingProducts Sequence="1410" />
<MsiPublishAssemblies Sequence="6250" />
<MsiUnpublishAssemblies Sequence="1750" />
</InstallExecuteSequence>
如何解决此问题?
答案 0 :(得分:1)
您有可能在InstallUISequence
期间(不显示ARP或msiexec / x)尝试“填充”并且您(错误地)需要用户界面并执行此处的步骤,如反对在InstallExecuteSequence
如果使用Orca检查两个序列,您应该能够识别出有问题的操作。