在Wix中卸载后运行devenve.exe / setup

时间:2011-07-07 08:24:29

标签: wix wix3.5

我正在为MVVM Light安装一个安装程序(MSI,Wix)并遇到问题。我需要在安装和卸载时运行devenv.exe / setup以将模板添加/删除到New Project菜单。虽然我们在安装时确定了语法,但我们无法找到在卸载时运行此语法的正确语法。

这就是我们所拥有的:

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

任何人都可以指出正确的语法是什么吗?

谢谢! 劳伦

3 个答案:

答案 0 :(得分:8)

这是WiX附带的功能。将所有创作和您的自定义RegistrySearch替换为:

<CustomActionRef Id="VS2010Setup" />

答案 1 :(得分:0)

卸载文件后你试过devenv / installvstemplates吗? http://msdn.microsoft.com/en-us/library/xee0c8y7.aspx

答案 2 :(得分:0)

有可能是case sensitivity issue吗?

按照Rob的建议,尝试"ALL"代替"All"REMOVE ~= "ALL"