2017-06-22 4 views
1

Visual Studio拡張(vsix)+関連ファイルをインストールするWixインストーラがあります。しかし、vsixmanifestの "This VSIX is Windows Installerによってインストールされた"チックボックスに "Install Targets"(これはタグに属性 "InstalledByMsi"を追加し、その値を "true"に設定する)にチェックを入れると、ログに次のエラー:Msiインストーラがvsixinstallerエラー "1009"によってブロックされました:InstallByMsiException

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) 

簡単にGoogleはVSIXInstaller.exeから、エラー1009がInstallByMsiExceptionと呼ばれている私を示しています。

このチェックボックスをオフにしても問題はありませんが、Visual Studioでは拡張機能マネージャを使用して拡張機能をアンインストールすることができます。これには、vsix以外のファイルやWindowsインストーラによって作成されたレジストリエントリは含まれません。

私が逃した設定はありますか?私は何を探すことができますか?

答えて

1

msiインストーラでvsixファイルをインストールする場合は、ファイルを自分で抽出して手動で配置する必要があります。すべてのユーザーにインストールするとうまくいきますが、拡張パスがそのインスタンスで自動生成されているように見えるため、AppDataにインストールするイベントで何をすべきかわかりません。

それはVSIXファイルの解凍を自動化しないだろうとInstalledByMsi属性が

を設定してVSIXをインストールすることはできませんので、ウィックスToolkitは、ファイルをVSIXインストールするための素敵なラッパー関数を持っているという事実は誤解を招きます
関連する問題