2016-05-20 13 views
2

MSIを使用してインストールするa Visual Studio extensionと書いてあります。インストールは、適切な場所にextension.vsixmanifestファイルを置き、そして拡張が期待通りに機能拡張マネージャに表示されます。VS2015エクステンションマネージャーはMSIインテルドエクステンションのアップデートを報告していません

Extension Manager details

の問題は、ある私は、Visual Studioギャラリー、拡張機能マネージャの新しいバージョンを公開すると、それを報告しません。新しいバージョンを追加するには、新しいインストーラーを作成し、既存のページを編集します。新しいインストーラーには、新しいProductCode、PackageCode、ProductVersionがあります(MSIセットアッププロジェクトと、含まれるextension.vsixmanifestのバージョン番号を更新します)が、同じUpgradeCodeです。 GitHub hereに「アップグレード」コミットの例があります。

Service query results

:同じ結果無効な拡張識別子に問い合わせるかのように -

問題は、Visual Studioの拡張機能マネージャは、私の拡張機能の最新バージョンthe extensions serviceを照会するとき、それは空白の文字列を返すことのように見えます

例で正常にクエリされた2つの拡張子は、VS2015の場合はNuGet client toolsSQL Server Compact/SQLite Toolboxの場合です。

私には何が欠けていますか?

答えて

1

OhhhhhhKAY。私はこれを解決し、Visual Studio Galleryのページエディタに問題があることが判明しました。

The VSIX ID box

あなたは編集拡張子(私はChromeを使っている)、そのボックスが消えている:あなたは拡張子を追加

は、あなたがVSIX IDボックスを示しています!

No VSIX ID box

それはDOMではまだだが、それは視界から隠されています。このため、私はエクステンションのVSIX IDをフォームに入力したことはありませんでした。関連する値がなく、拡張サービスはそのIDのバージョン番号を返しませんでした。Extension Managerは、エクステンションサービスを使用して、インストールされているエクステンションの最新バージョンを調べるため、私の新しいバージョンを報告していませんでした。

拡張機能でサポートされているVisual Studioのバージョンの1つを選択解除すると、VSIX IDボックスが再表示され、そのようにIDを割り当てることができました。サービスは現在、バージョン番号を返し、そして拡張機能マネージャは、したがって、利用可能なアップデートを示しています。アイデアを

Update available!

0

おそらく、ProductVersionを作成し、インストーラプロジェクトの[アップグレードテーブル]で正しいバージョン条件を気にする必要があるかもしれません。これが完全な冗長ログ(msiexec/i installer.msi/l * v logfile.log)でインストールすることでこの問題を調査するのに役立たない場合、これはいくつかの手がかりを与えるかもしれません。最悪の場合、RemoveFilesテーブルにエントリを追加して(このファイルを展開する前にインストール中に)このファイルを削除することができますが、それは厄介であり、避ける方がよいでしょう。

+0

感謝を:)私はPRODUCTVERSIONを更新しています(私はこれを反映する私の質問を更新しました)と私は思いますインストーラのアップグレードテーブルは正常です。インストール中にそれ以前のバージョンのものを削除します。問題は、Visual Studioギャラリーが更新されたバージョンを報告していないことです。 –

+0

ええと、私は、Visual Studioはconfigfilesやレジストリの最初の時間だけのファイルが発生するいくつかの構成を生成すると思います。 VSがこのプラグインを初めて追加する前にシステムスナップショットを作成して、それがどのような変更を行うかを確認してください。 – s1me0ne

+0

Msiバージョンは4桁の形式をサポートしていません https://msdn.microsoft.com/en-us/library/windows/desktop/aa370859(v=vs.85).aspx 3番目のドット – s1me0ne

0

インストーラの設定に問題があるとは思わないが、インストーラが実際に製品をアップグレードすると仮定している。あなたの質問が正しく理解できれば、これはExtension Managerの問題です。

新しいバージョンの文字列の末尾にある.0を削除しようとしましたか? 3ドットバージョンと4ドットバージョンを比較すると、予期しない比較結果が得られない場合があります。

さらに、極端なバージョン番号の変更(メジャーバージョンのアップグレード)を試みて、Extension Managerがそれを選択しているかどうかを確認することもできます。

+0

私がリンクした例は4桁のバージョンを使用した最初の3桁3桁のアップグレードが表示されず、4桁から4桁の数字を試しましたが、それも表示されません。私はメジャーバージョン番号を更新しようとしましたが、それも表示されませんでした。 Hmmmmmm ... –

+0

私が見たことの1つは、[github extension](https://github.com/github/VisualStudio)にvsixmanifestファイル(VisualStudio/src/GitHub.VisualStudio/source .extension.vsixmanifest)およびインストーラーProductInfo.wxi(VisualStudio/src/MsiInstaller/ProductInfo.wxi)ファイルが含まれています。おそらくあなたのインストーラ(vdproj)は同じものを持つ必要がありますか? –

+0

ProductInfo.wxiで定義されているVSIX ID変数は、主要Product.wxiのFragment要素のIDに使用されています。vdprojに相当するとは思いません。 WIXバージョンは、ProductCodeとUpgradeCodeも持っているように見えます。これはvdprojと同じです。 –

関連する問題