我工作的公司使用wix工具集创建了一个msi,该msi应该在Visual Studio中安装我们的扩展程序。 直到Visual Studio 2017一切正常。 当客户端计算机上安装了一些VS的IDE时,例如Professional和Enterprise,我们的扩展程序将仅安装在其中一个中。 有人知道如何解决此问题吗?有没有办法迭代VS2017的IDE? 编辑:VS2017中的安装代码如下:
{{1}}
如上所述,此代码仅在VS 2017的一个IDE中安装扩展,我希望将扩展安装在所有VS 2017的IDE中。
答案 0 :(得分:1)
免责声明:我在Typemock(单元测试公司)工作
我们的Wix安装程序存在相同的问题,这是您需要执行的操作:
•为每个VS 2017实例创建属性:
<Property Id="VS2017_INSTANCE_1" />
<Property Id="VS2017_INSTANCE_2" />
<Property Id="VS2017_INSTANCE_3" />
•借助vswhere(可找到所有已安装VS 2017路径的工具)为它们分配值:
添加一个CustomAction
来激活vswhere并将路径分配给属性。
•为上述每个属性创建一个代码,就像您上面编写的那样:
<Directory Id="VS2017_INSTANCE_1">
...
</Directory>
<Directory Id="VS2017_INSTANCE_2">
...
</Directory>
<Directory Id="VS2017_INSTANCE_3">
...
</Directory>
•最重要的部分:将{{1}之前的CustomAction
放在CostFinalize