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

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

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

Re[2]: msiでインストール時にファイルが上書き更新されない


(過去ログ 115 を表示中)

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

■67829 / inTopicNo.1)  msiでインストール時にファイルが上書き更新されない
  
□投稿者/ ペンギン (1回)-(2013/09/04(Wed) 14:49:47)

分類:[インストーラ全般] 

msiファイルを使用したアプリケーションのインストール・ファイルの展開に関する質問です。

■環境
 開発ツール:VisualStudio2010
 言語:C#
 OS:Windows7
■現状の運用
 上記環境で作成したアプリケーションをmsi形式にパッケージング、ユーザーに配布し、
 各自でインストール実施してもらう業務運用をしています。
 msiパッケージを実行すると、C:\直下にフォルダが作成され、そのフォルダの中に
 複数のdllや設定ファイルなどが展開されます。
 msiファイルはバージョン管理されており、アプリケーションがバージョンアップした際は
 新しいバージョンのmsiを作成、配布しています。
 バージョンアップの際、ユーザーは旧モジュールをアンインストールすることなく、
 上書きインストールすることでバージョンアップしています。
 ■問題
 バージョンアップする際、C:\直下に作成されたフォルダ内のファイルを全て上書き更新したいのですが、
 ファイルを一度でも開いて中身を編集・保存すると、上書き更新されません。
 (ファイルの中身を何も変更していない場合は上書き更新されます)
 msiファイルのRemovePreviousVersionsプロパティはTrueになっています。 
■質問
 何か他に設定をすることで同じファイル名の場合、必ず上書き更新するように変更可能でしょうか。
引用返信 編集キー/
■67831 / inTopicNo.2)  Re[1]: msiでインストール時にファイルが上書き更新されない
□投稿者/ とっちゃん (143回)-(2013/09/04(Wed) 15:09:33)
とっちゃん さんの Web サイト
No67829 (ペンギン さん) に返信
>  バージョンアップの際、ユーザーは旧モジュールをアンインストールすることなく、
>  上書きインストールすることでバージョンアップしています。
>  ■問題
>  バージョンアップする際、C:\直下に作成されたフォルダ内のファイルを全て上書き更新したいのですが、
>  ファイルを一度でも開いて中身を編集・保存すると、上書き更新されません。
>  (ファイルの中身を何も変更していない場合は上書き更新されます)

この上書きされるというファイルは、バージョンを持たないファイルですか?
それともバージョンを持つファイルですか?(バージョンを持っていて編集はなさそうですが...)

バージョンを持たないファイルの更新規約は
1.ファイルの更新日時が作成日時より新しいかどうか(新しい場合更新しない)
2.ファイルのハッシュ値と、インストールするファイルのハッシュ値が同じかどうか(同じ場合更新しない)
となっています。

おそらく、編集して、「保存」するようなので、ファイルの更新日時が作成日時より新しくなり
結果、更新対象から外されるのだと思います。

対処方法は。。。インストールするファイルを直接編集するような事態にならないようにプログラムを設計、作成する
ということになるかと。。。

引用返信 編集キー/
■67835 / inTopicNo.3)  Re[2]: msiでインストール時にファイルが上書き更新されない
□投稿者/ ペンギン (2回)-(2013/09/04(Wed) 15:49:44)
No67831 (とっちゃん さん) に返信
> ■No67829 (ペンギン さん) に返信
>> バージョンアップの際、ユーザーは旧モジュールをアンインストールすることなく、
>> 上書きインストールすることでバージョンアップしています。
>> ■問題
>> バージョンアップする際、C:\直下に作成されたフォルダ内のファイルを全て上書き更新したいのですが、
>> ファイルを一度でも開いて中身を編集・保存すると、上書き更新されません。
>> (ファイルの中身を何も変更していない場合は上書き更新されます)
>
> この上書きされるというファイルは、バージョンを持たないファイルですか?
> それともバージョンを持つファイルですか?(バージョンを持っていて編集はなさそうですが...)
>
> バージョンを持たないファイルの更新規約は
> 1.ファイルの更新日時が作成日時より新しいかどうか(新しい場合更新しない)
> 2.ファイルのハッシュ値と、インストールするファイルのハッシュ値が同じかどうか(同じ場合更新しない)
> となっています。
>
> おそらく、編集して、「保存」するようなので、ファイルの更新日時が作成日時より新しくなり
> 結果、更新対象から外されるのだと思います。
>
> 対処方法は。。。インストールするファイルを直接編集するような事態にならないようにプログラムを設計、作成する
> ということになるかと。。。
>

とっちゃんさん、回答ありがとうございました。
ご指摘の通り、バージョンを持たないファイルの更新です。
ユーザーがファイルを編集、保存出来ないように別途対応します。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -