5

私のファイル構造 (FireBird データベース) には 1 つのファイルがあり、最初にインストールすると、二度と上書きされてはなりません。これは簡単な作業のように思えますが、答えを見つけようと無益に試みて途方もない時間を無駄にしました。

ファイルを右クリックして [プロパティ] を選択すると、[常に上書き] チェックボックスしかありません。バージョン番号を同じに保つだけで、ファイルが上書きされるのを防ぐことができますが、それは私の状況では危険である可能性があり、実際のファイルのプロパティでは、ファイルを配置することさえできません。バージョンナンバー。

これはかなり簡単な解決策になると思っていましたが、確かにまだ見つけていません。

皆さん、助けてくれてありがとう。あなたは揺れます。

4

1 に答える 1

6

2 つのアプローチ:

1) InstallShield がファイルを上書きしないようにする「最も簡単な」方法は、最初からファイルをインストールしないことです。それを a.txt としてインストールし、最初の実行時にアプリケーションで b.txt にコピーするようにすると、インストール時に b.txt の存在すら認識されません。

2) InstallShield でコンポーネントを作成し、データベースをキーファイルとして追加します。おそらく、データベースの内容は時間の経過とともに変化し、作成日と変更日が異なるものになるでしょう。このシナリオでは、InstallShield (実際には Windows インストーラー) の既定のファイル バージョン管理規則 (OMUS) により、ファイルは上書きされません。

3) #2 がまだ何らかの形で機能しない場合は、コンポーネントの [上書きしない] 属性を [はい] に設定します。

ファイルのコストは KeyFile に基づいていることに注意してください。キーファイルが評価するものは何でも、コンポーネント内の他のすべてのファイルは、上書きに関して同じことを行います。「常に上書き」は、ファイルのバージョンが 65535.0.0.0 であると誤って MSI に伝える「バージョン嘘」であり、したがって、作成/変更ルールは、バージョン管理された切り札の非バージョン管理ファイル規則に取って代わられます。

于 2012-02-13T22:11:35.213 に答える