【问题标题】:Add-Remove Uninstall and msiexec /x not working accordingly for WiX-based installersAdd-Remove Uninstall 和 msiexec /x 不适用于基于 WiX 的安装程序
【发布时间】:2011-06-24 10:45:14
【问题描述】:

我的一些基于 WiX 的安装程序遇到了这种奇怪的行为。安装后,如果我尝试通过添加删除程序(Windows 7 中的程序和功能)使用右键菜单并选择卸载(此默认 BTW) 进行删除,它只会显示一个进度对话框,该对话框会立即退出并程序从不卸载并保持原样。

使用时会有相同的行为

msiexec /x {产品代码}

(或 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>

我该如何解决这个问题?

【问题讨论】:

    标签: uninstallation windows-installer


    【解决方案1】:

    您可能正在尝试在 InstallUISequence 期间执行“操作”(不会从 ARP 或 msiexec /x 显示)并且您(错误地)需要用户界面并在此处执行步骤,而不是在InstallExecuteSequence 期间执行它们

    如果您使用 Orca 检查这两个序列,您应该能够识别有问题的操作。

    【讨论】:

    • 嗨,Saschabeaumont,感谢您的回复。抱歉回复晚了:不,不是那样的。我正在用我的 Wix 代码中的两个序列的代码更新帖子。
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    相关资源
    最近更新 更多