C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: セットアッププロジェクトでリインストールが上手くゆきません


(過去ログ 95 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■57055 / inTopicNo.1)  セットアッププロジェクトでリインストールが上手くゆきません
  
□投稿者/ ミネ (1回)-(2011/02/10(Thu) 11:41:44)
ミネ さんの Web サイト

分類:[VB.NET/VB2005 以降] 

VisualStudio2005(VB)でテスト用の小さいプログラムを作成し動作を確認しました。 このセットアッププロジェクトを作成しますとSetup.msiとSetup.exeが出来ます。 Setup.exeを実行すると問題なくSetupされ動作も問題在りません。 このまま再度Setup.exeを実行してもセットアップウィザードご表示され問題在りません。 しかしこのセットアッププロジェクトを再度ビルドしてSetup.exeを実行すると「App.Nameをインストールしようとしてエラーが発生しました」と表示されます。 詳細を見てみますと終わりの方に
'.NET Framework 2.0' RunCheck result: No Install Needed
Launching Application.
Using MsiInstallProduct with package path 'D:\NetData5\FrmSizeChange\Setup\Release\Setup.msi' and command line ''
MsiInstallProduct returned '1638'
Error:
と記載されています。 NET Framework 2.0がInstallされていないと判断されているようですがNET Framework 2.0は間違いなくInstallされています。
またSetup.msiを実行すると「別のバージョンの製品が既にインストールされています....」と表示されます。
SetupのPropertyでDetectNewerInstallVersion=True,InsallAllUser=True、RemovePrevisiouVersion=Trueに設定しているのですがどの様にすれば同じVersionで再ビルドしたときに古いApplicationを削除しないで再インストール出来るのでしょうか。
なお一旦古いApplicationを削除してから再度ビルドしたSetup.exeを実行すれば問題はありません。
何方かお教え頂きたくよろしくお願い申し上げます。
引用返信 編集キー/
■57057 / inTopicNo.2)  Re[1]: セットアッププロジェクトでリインストールが上手くゆきません
□投稿者/ とっちゃん (561回)-(2011/02/10(Thu) 12:13:40)
とっちゃん さんの Web サイト
No57055 (ミネ さん) に返信
> '.NET Framework 2.0' RunCheck result: No Install Needed
> Launching Application.
> Using MsiInstallProduct with package path 'D:\NetData5\FrmSizeChange\Setup\Release\Setup.msi' and command line ''
> MsiInstallProduct returned '1638'
> Error:
> と記載されています。 NET Framework 2.0がInstallされていないと判断されているようですがNET Framework 2.0は間違いなくInstallされています。

この部分はもう少しきっちり調べないとわからんですので何とも。。。
#チェックしてないです

> またSetup.msiを実行すると「別のバージョンの製品が既にインストールされています....」と表示されます。
> SetupのPropertyでDetectNewerInstallVersion=True,InsallAllUser=True、RemovePrevisiouVersion=Trueに設定しているのですがどの様にすれば同じVersionで再ビルドしたときに古いApplicationを削除しないで再インストール出来るのでしょうか。
> なお一旦古いApplicationを削除してから再度ビルドしたSetup.exeを実行すれば問題はありません。

配布するためにインストールパッケージを更新する場合は
1.更新された(ビットイメージとして異なる)プログラムがある場合は必ずバージョンを上げること
2.インストーラのバージョンを上げ、ProductCodeを変更すること
3.DetectNewerInstallVersion=True, RemovePrevisuiosVersion=True に設定する
の3つを行う必要があります。

WindowsInstaller は、プログラムのビットイメージではなくバージョン番号を見て更新されたかどうかを判断します。
そのため、インストール先に同じファイル名で同じバージョンのファイルがあれば中身が全く違っていても同じものとみなします。
なので、配布する場合は必ずプログラムのバージョンを更新しなければなりません。

配布のためのテストとか内部のバグフィックス中の中間ビルドなどバージョンの更新ができない場合は
一度アンインストールしてからインストールしてください。

一応、WindowsInstaller自身にはそういう場合用の更新処理(ただしファイルバージョンはアップする必要がある)も
ありますが、残念ながらVSセットアップでは対応していないのでできません。

引用返信 編集キー/
■57062 / inTopicNo.3)  Re[2]: セットアッププロジェクトでリインストールが上手くゆきません
□投稿者/ ミネ (2回)-(2011/02/10(Thu) 14:05:50)
ミネ さんの Web サイト
No57057 (とっちゃん さん) に返信
> ■No57055 (ミネ さん) に返信
>>'.NET Framework 2.0' RunCheck result: No Install Needed
>>Launching Application.
>>Using MsiInstallProduct with package path 'D:\NetData5\FrmSizeChange\Setup\Release\Setup.msi' and command line ''
>>MsiInstallProduct returned '1638'
>>Error:
>>と記載されています。 NET Framework 2.0がInstallされていないと判断されているようですがNET Framework 2.0は間違いなくInstallされています。
>
> この部分はもう少しきっちり調べないとわからんですので何とも。。。
> #チェックしてないです
>
>>またSetup.msiを実行すると「別のバージョンの製品が既にインストールされています....」と表示されます。
>>SetupのPropertyでDetectNewerInstallVersion=True,InsallAllUser=True、RemovePrevisiouVersion=Trueに設定しているのですがどの様にすれば同じVersionで再ビルドしたときに古いApplicationを削除しないで再インストール出来るのでしょうか。
>>なお一旦古いApplicationを削除してから再度ビルドしたSetup.exeを実行すれば問題はありません。
>
> 配布するためにインストールパッケージを更新する場合は
> 1.更新された(ビットイメージとして異なる)プログラムがある場合は必ずバージョンを上げること
> 2.インストーラのバージョンを上げ、ProductCodeを変更すること
> 3.DetectNewerInstallVersion=True, RemovePrevisuiosVersion=True に設定する
> の3つを行う必要があります。
>
> WindowsInstaller は、プログラムのビットイメージではなくバージョン番号を見て更新されたかどうかを判断します。
> そのため、インストール先に同じファイル名で同じバージョンのファイルがあれば中身が全く違っていても同じものとみなします。
> なので、配布する場合は必ずプログラムのバージョンを更新しなければなりません。
>
> 配布のためのテストとか内部のバグフィックス中の中間ビルドなどバージョンの更新ができない場合は
> 一度アンインストールしてからインストールしてください。
>
> 一応、WindowsInstaller自身にはそういう場合用の更新処理(ただしファイルバージョンはアップする必要がある)も
> ありますが、残念ながらVSセットアップでは対応していないのでできません。


とっちゃん さん
早速にご指導有り難う御座います。 早速試してみましたが無事解決致しました。
SetUpのVerは変更していたのですが、ProductCodeを変更していなかったのが原因のようです。
大変助かりました。 重ねて御礼申し上げます。 
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -