Wix卸载后运行devenve.exe /setup

7

我正在为MVVM Light制作一个安装程序(MSI、Wix),但遇到了问题。我需要在安装和卸载时运行devenv.exe /setup,以便添加/删除新项目菜单中的模板。虽然我们已经解决了安装时的语法问题,但我们无法找到正确的语法来在卸载时运行它。

这是我们目前所拥有的:

<InstallExecuteSequence>
    <Custom Action='UpdateVS2010Templates'
            After='InstallFiles'>VS2010EXISTS</Custom>

    <Custom Action='UpdateVS2010TemplatesUninstall'
            After='RemoveFiles'>REMOVE = "All"</Custom>
</InstallExecuteSequence>

使用

<CustomAction Id="UpdateVS2010Templates"
                Impersonate="no"
                Execute="deferred"
                Directory="INSTALLLOCATION"
                ExeCommand='"[VS10INSTALL]\Common7\IDE\DEVENV.EXE" /SETUP'
                Return='ignore' >
</CustomAction>

<CustomAction Id="UpdateVS2010TemplatesUninstall"
                Impersonate="no"
                Execute="deferred"
                Directory="INSTALLLOCATION"
                ExeCommand='"[VS10INSTALL]\Common7\IDE\DEVENV.EXE" /SETUP'
                Return='ignore' >
</CustomAction>

有人能指出正确的语法是什么吗?

谢谢! Laurent


更多信息:我尝试执行一个虚拟的自定义操作(基本上是MessageBox.Show),它在安装时可以工作,但在卸载时无法工作。因此,确实是自定义操作没有被执行,而不是安装命令本身。 - LBugnion
3个回答

8

这是WiX提供的功能。使用它来替换所有的作者和自定义RegistrySearch:

<CustomActionRef Id="VS2010Setup" />

干得好,亲切的先生,那个有效。正在简化我的设置的过程中 :) 谢谢!! - LBugnion

0

0

有没有可能是大小写敏感问题

尝试使用"ALL"而不是"All"或者像Rob建议的那样使用REMOVE ~= "ALL"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接