InstallShield LEを使用している場合、MSIには1つのアセンブリの古いバージョンが含まれていますが、現在のバージョンの他のバージョンが含まれています。
-
12-12-2019 - |
質問
私はVisual Studio 2010を使用しています。
「ファイル」部分のメインGUIのプライマリプロジェクト出力を選択し、プログラムファイルのサブディレクトリ、かわいい標準のサブディレクトリにインストールされました。
私は数週間前にインストーラを建設し、それをテストマシンにインストールしました、すべてがうまくいっていました。それ以来、私は解決策の各プロジェクトに変更を加えました。今日、私はアセンブリバージョンをインクリメントし、テストを続けるためにセットアッププロジェクトを再構築しました。
インストール後、プログラムファイルのインストールディレクトリに、プロジェクトのアセンブリの1つが以前のバージョン、1.0.0.0、およびファイルの日付が1ヶ月以上であることに気付きました。ディレクトリ内の他のアセンブリは現在のバージョンと現在の変更日を示しています。
私は私の解決策ディレクトリとインストーラプロジェクトフォルダのすべてのbinとobjフォルダを削除しました。私は再インストールしましたが、問題は残っています。
Googleを検索しましたが、問題が奇数であるため、良い検索語句はとらえどころのないものです。
明らかに、私はインストーラMSIに含まれるマイアセンブリの最新バージョンが必要です。
助けや提案をありがとう!
解決
2つのことをする必要があります。問題に。BTW、各アセンブリファイルはそれ自身のコンポーネントのキーファイルとしてあります。Windowsインストーラは、それらのパスのバージョンアップをチェックします。
他のヒント
読みたいです。
注:AssemblyFierVersionを比較していることを確認してください。むしろAssemblyFersion属性であるAssemblyVersion属性ではありません。前者はGACと強力な名前契約によって使用され、後でWindowsのネイティブFileVersion Structionsにマッピングされます。
前に、VSセットアッププロジェクトと同じ問題がありました。プロジェクトを古いDLLと参照するソリューションのアセンブリ参照を再確認します。あなたはそれが参照されているバージョンを見るためにプロパティウィンドウを見ることができるだけです。私の場合は、プロジェクト自体ではなく別のプロジェクトのBINフォルダからDLLを参照します。
あなたがすべてのあなたの箱とobjフォルダーを削除したことを知っていますが、おそらく試してみる価値があります。
問題の参照が見つかった場合は、削除して再追加するだけで、いいはずです。
InstallShieldをダンプし、 wix 。
wixは例えばuppradeCode機能のバージョンチェックを制御するのに役立ちます。