|
■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セットアップでは対応していないのでできません。
|