我有一个Wix安装程序来安装我的visual studio扩展(vsix)+相关文件。但是,当我在“安装目标”下的vsixmanifest中勾选“此VSIX由Windows Installer安装”cheeckbox时(这会将属性“InstalledByMsi”添加到标记并将其值设置为“true”),安装程序将退出并找到日志中出现以下错误:
MSI (s) (7C:2C) [12:47:13:966]: Executing op: CustomActionSchedule(Action=viuD024AF088F5BE8AD5BD310C0F79AE3DF,ActionType=1074,Source=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\VSIXInstaller.exe,Target=/q "C:\Users\me\AppData\Local\My Company\MyPlugin\MyPlugin.vsix",)
CustomAction viuD024AF088F5BE8AD5BD310C0F79AE3DF returned actual error code 1009 (note this may not be 100% accurate if translation happened inside sandbox)
快速谷歌向我显示VSIXInstaller.exe中的错误1009称为InstallByMsiException。
这个复选框未完成就可以正常工作,但这意味着visual studio允许用户通过扩展管理器卸载扩展,扩展管理器不包括vsix外部的文件或Windows安装程序创建的注册表项。 / p>
我错过了某处吗?我能找到什么?
答案 0 :(得分:1)
事实证明,如果您通过msi安装程序安装vsix文件,则需要自己提取文件并手动放置它们。如果您为所有用户安装,这可以正常工作,但我不确定在您要安装到AppData的情况下该怎么做,因为扩展路径似乎是在该实例中自动生成的。
Wix Toolkit具有用于安装vsix文件的良好包装函数这一事实具有误导性,因为它不会自动解压缩vsix文件,也无法安装具有InstalledByMsi属性集的vsix