none
セットアッププロジェクトに於けるRemovePreviousVersionの動作 RRS feed

  • 質問

  • 開発環境:Visual Studio 2010 Pro
    OS:WindowsXP
    
    セットアッププロジェクトで「RemovePreviousVersion」をTrueに設定しているのです
    が、インストール時に旧バージョンの削除が行われません。
    VS2005では正常に削除されていたのですが、2010では何か設定が必要なのでしょうか?
    
    手順
    ・Versionをインクリメントする
    ・「ProductCodeの変更をお勧めします。実行しますか」のメッセージで「はい」を選択
    ・セットアッププロジェクトのリビルド
    
    以上、宜しくお願い致します。
    2011年4月21日 8:13

回答

  • >プロジェクト出力ファイル(exe)が古いままです。

    えっと。。。インストーラに含まれるものが更新されていないまま。。。ではないのですよね?もしかして、インストーラのバージョンだけあげて、アプリケーションのバージョンを上げていない?

    インストーラはインストールしようとするものと同じバージョンのものがすでにインストールされている場合、インストール済みのものと異なっていてもバージョンが同じなので同じファイルであると想定して、更新しません。

    そういう状況になっていませんか?


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    • 回答としてマーク MAS_O 2011年4月22日 9:18
    2011年4月22日 5:50

すべての返信

  • インストール済みの古いバージョンがアンインストールされずにコンパネに2つ並んでしまうということですか?

    そうであれば、新旧のUpgradeCode を確認してみてください。この値が異なっていると旧バージョンを検出できないため、同居してしまいます。

    同じ値であるにもかかわらず。。。となると、VS2010のセットアップ作成ルーチンのバグの可能性がありますが、バグがあるかどうかはわかりません。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2011年4月21日 9:19
  • ご回答ありがとうございます。

    > インストール済みの古いバージョンがアンインストールされずにコンパネに2つ並んでしまうということですか?

    ではなくて、プロジェクト出力ファイル(exe)が古いままです。

    同梱の印刷フォーム用ファイルや設定ファイルなどは新しいものに置き換わっています。

    > そうであれば、新旧のUpgradeCode を確認してみてください。この値が異なっていると旧バージョンを検出できないため、同居してしまいます。

    UpgradeCodeは同一であることを確認しています。

     

    バグなのでしょうか。。。

    SP1もリリース後すぐに適用したのですが状況は同じでした。

    現在のところはコンパネからアンインストールをした上で再度インストールして頂くという運用で対応していますが。。。

    2011年4月22日 5:10
  • >プロジェクト出力ファイル(exe)が古いままです。

    えっと。。。インストーラに含まれるものが更新されていないまま。。。ではないのですよね?もしかして、インストーラのバージョンだけあげて、アプリケーションのバージョンを上げていない?

    インストーラはインストールしようとするものと同じバージョンのものがすでにインストールされている場合、インストール済みのものと異なっていてもバージョンが同じなので同じファイルであると想定して、更新しません。

    そういう状況になっていませんか?


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    • 回答としてマーク MAS_O 2011年4月22日 9:18
    2011年4月22日 5:50
  • ご回答ありがとうございます。

    > もしかして、インストーラのバージョンだけあげて、アプリケーションのバージョンを上げていない?

    ご指摘の通り、インストーラのバージョンのみインクリメントしていました。

    VS2005ではこの手順で正常に更新されていたので・・・。

     

    アプリケーション側のFILEVERSION、PRODUCTVERSIONをインクリメントすることで、正常に更新されました。

     

    ありがとうございましたm(_ _)m

    2011年4月22日 9:20
  • >アプリケーション側のFILEVERSION、PRODUCTVERSIONをインクリメントすることで、正常に更新されました。

    FILEVERSION、PRODUCTVERSIONは具体的にどこで設定されますか?

    2013年2月13日 3:57
  • >アプリケーション側のFILEVERSION、PRODUCTVERSIONをインクリメントすることで、正常に更新されました。

    FILEVERSION、PRODUCTVERSIONは具体的にどこで設定されますか?

    2013年2月13日 4:06