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

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

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

Re[3]: InstallShieldでのアップグレードについて


(過去ログ 55 を表示中)

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

■31164 / inTopicNo.1)  InstallShieldでのアップグレードについて
  
□投稿者/ あら (90回)-(2009/01/15(Thu) 21:00:33)

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

お世話になっております。

InstallShield11でインストーラを作成しております。

インストール時にスモール/マイナー/メジャーのアップグレードにかかわらず
常にファイルを上書きしたいと思っております。

下記のように設定しているのですが、アップグレード時にファイルが
上書きされません。
原因をご存知の方がおりましたら、ご教示お願いします。

----
下記2点の設定を行っております。
・[編成]-[コンポーネント]で「条件の再評価」を「はい」に設定
・[アプリケーションデータ]-[ファイルとフォルダ] インストール先の
 コンピュータファイルで各ファイルのプロパティで「常に上書きをする」
 にチェックをしています。
引用返信 編集キー/
■31205 / inTopicNo.2)  Re[1]: InstallShieldでのアップグレードについて
□投稿者/ とっちゃん (361回)-(2009/01/16(Fri) 13:45:17)
とっちゃん さんの Web サイト
No31164 (あら さん) に返信
> InstallShield11でインストーラを作成しております。
>
> インストール時にスモール/マイナー/メジャーのアップグレードにかかわらず
> 常にファイルを上書きしたいと思っております。
>
> 下記のように設定しているのですが、アップグレード時にファイルが
> 上書きされません。
> 原因をご存知の方がおりましたら、ご教示お願いします。
>
> ----
> 下記2点の設定を行っております。
> ・[編成]-[コンポーネント]で「条件の再評価」を「はい」に設定
> ・[アプリケーションデータ]-[ファイルとフォルダ] インストール先の
>  コンピュータファイルで各ファイルのプロパティで「常に上書きをする」
>  にチェックをしています。

んと、プロジェクトの種類は、MSI形式でいいですか?

であれば(ほかの形式はわからんです)、条件の再評価と常に上書きは以下のようになります。

・条件の再評価
修復インストールやアップグレード(アップデート)で、条件付きコンポーネントのインストール条件を再評価する。
環境に依存する条件などを持つ場合に利用するのが望ましいとされるが本来このような処理があるのはどうか?という意見もある。
#ちなみに、昔のロゴのインストーラ条件ではこのような事例があり得るはずがない!とされてましたw

・常に上書き
会社に置いてある書籍が古いやつなので、「上書きしない」という設定なのですが。。。おそらく同じでしょう。
そこには、
「セットアッププログラムに含まれるファイルが新しくても、このコンポーネントが既存のファイルを憂さが気しないかどうかを指定します。」
とあります。

ようするに、コンポーネントを入れようとした際に、自分のインストールしようとしたものが新しければ上書きインストールする。
そうでなければ、上書きしない(古いまま)ということになります。

さて。。。常にファイルを上書きしたいというのはなぜでしょうか?
また、そのファイルはどのようなファイルなのでしょうか?
そのファイルについての情報があれば、別の手段で上書きされるようにするという方法があるかもしれません。

ないかもしれませんがw

引用返信 編集キー/
■31227 / inTopicNo.3)  Re[2]: InstallShieldでのアップグレードについて
□投稿者/ あら (91回)-(2009/01/17(Sat) 23:37:04)
とっちゃんさん
返信ありがとうございます。

> んと、プロジェクトの種類は、MSI形式でいいですか?
はい。

>「上書きしない」という設定なのですが。。。おそらく同じでしょう。
「上書きしない」という設定は、コンポーネントのプロパティの「再評価」
の下に同じ名前のプロパティがあるので「常に上書き」の設定とは異なる
かもしれません。。。

ヘルプによると下記のように記載されているプロパティをことです。
---
[常に上書き]を選択すると、ターゲット システム上のファイルはファイルバージョン、言語、日付に関係なく上書きされます。
[ファイルのプロパティ] ダイアログ ボックスで、[常に上書き] チェック ボックスを選択して、ファイルが常に上書きされるように指定します。


> さて。。。常にファイルを上書きしたいというのはなぜでしょうか?
> また、そのファイルはどのようなファイルなのでしょうか?
ファイル自体は、exe、dllといったファイルです。

修正を行ってもdll等のファイルバージョンは変更しない予定なので、
インストール済みであれば、常にファイルを上書きにして対応しよう
と思っています。
引用返信 編集キー/
■31256 / inTopicNo.4)  Re[3]: InstallShieldでのアップグレードについて
□投稿者/ とっちゃん (362回)-(2009/01/19(Mon) 12:31:11)
とっちゃん さんの Web サイト
No31227 (あら さん) に返信

>>んと、プロジェクトの種類は、MSI形式でいいですか?
> はい。
>
> >「上書きしない」という設定なのですが。。。おそらく同じでしょう。
> 「上書きしない」という設定は、コンポーネントのプロパティの「再評価」
> の下に同じ名前のプロパティがあるので「常に上書き」の設定とは異なる
> かもしれません。。。
>
> ヘルプによると下記のように記載されているプロパティをことです。
> ---
> [常に上書き]を選択すると、ターゲット システム上のファイルはファイルバージョン、言語、日付に関係なく上書きされます。
> [ファイルのプロパティ] ダイアログ ボックスで、[常に上書き] チェック ボックスを選択して、ファイルが常に上書きされるように指定します。
>
んー。。。なんか違う気がするけど。。。これはヘルプが間違ってるような気がします。
IS(InstallScript)だと、そういう設定ができるのかも。。。



>>さて。。。常にファイルを上書きしたいというのはなぜでしょうか?
>>また、そのファイルはどのようなファイルなのでしょうか?
> ファイル自体は、exe、dllといったファイルです。
>
> 修正を行ってもdll等のファイルバージョンは変更しない予定なので、
> インストール済みであれば、常にファイルを上書きにして対応しよう
> と思っています。
それは、ダメです。どういう理由があるにせよ、ファイルバージョンを使って
リリース管理してください。
それを怠ると、DLL Hell とかもう見なくていいはずの問題にぶち当たりますよ。

C#やVBなどでバージョン管理が。。。というのであれば
それは、アセンブリバージョンをきちんと固定していないのが原因です。
ファイルバージョンとアセンブリバージョンは別物です。

これらをきちんと使い分け、適切な状態を常に外部から把握できるように
バージョン管理を行うようにしてください。

そうすれば、ユーザーが変な操作をしたなどでおかしな状況になっても
比較的簡単に状態を把握することができると思いますよ。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -