DOBON.NET DOBON.NETプログラミング掲示板過去ログ

インストーラでのプログラムの削除

環境/言語:[XP / VS.NET 2003 / C#]
分類:[.NET]

セットアッププロジェクトを利用してインストーラを作成しています。
セットアップのプロパティの設定を
DetectNewerInstalledVersion = True
RemovePreviousVersions = True
にしてビルドして作成されたSetup.msiを実行すると「別のバージョンの製品がインストールされています」のエラーが出ます。
毎回「プログラムの追加と削除」で削除してから再インストールしていますが
RemovePreviousVersionsをTrueに設定しているのでインストーラの中で削除ができると思われますが設定のどこが間違っているのでしょうか。
ちなみにProductCode,UpgradeCodeは表示されている値をそのまま使用しています。
>設定のどこが間違っているのでしょうか。

1つ目はインストーラプロジェクトのバージョンを変更していないこと。

2つ目はこれ↓

> ちなみにProductCode,UpgradeCodeは表示されている値をそのまま使用しています。

新バージョンのインストールに先立って旧バージョンの「削除」が必要なら、インストール形態は「メジャーバージョンアップ」である必要があり、その場合

・インストーラプロジェクトのバージョンが旧版より大きな値に設定
・パッケージコードとプロダクトコードを旧版と異なる値に設定
・アップグレードコードは旧版と同じ値を仕様

とする必要があります。

詳しくは MSDN Library の Windows Installer 配下のトピックを隅々まで読んでお勉強してください。
■No10708に返信(渋木宏明(ひどり)さんの記事)
> >設定のどこが間違っているのでしょうか。
> > 1つ目はインストーラプロジェクトのバージョンを変更していないこと。
> > 2つ目はこれ↓
> >>ちなみにProductCode,UpgradeCodeは表示されている値をそのまま使用しています。
> > 新バージョンのインストールに先立って旧バージョンの「削除」が必要なら、インストール形態は「メジャーバージョンアップ」である必要があり、その場合
> > ・インストーラプロジェクトのバージョンが旧版より大きな値に設定
> ・パッケージコードとプロダクトコードを旧版と異なる値に設定
> ・アップグレードコードは旧版と同じ値を仕様
> > とする必要があります。
> > 詳しくは MSDN Library の Windows Installer 配下のトピックを隅々まで読んでお勉強してください。
> >
渋木さま。有難う御座いました。
ビルドするごとにバージョンを大きな値にすることで、旧バージョンを削除しなくてもインストールができました。
以前、色々と試しているときに旧バージョンを削除するか、修復するかのメッセージが出たことが有りましたので、これについては「隅々まで読んで」試してみたいと思います。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板