2012-02-13 65 views
4

私は自分のファイル構造(FireBirdデータベース)に1つのファイルを置いています。最初にインストールしたファイルは、再度上書きしないでください。これは簡単な作業のようですが、答えを見つけるのに無駄な時間を無駄に費やしました。ファイルを上書きしないInstallShieldの方法

ファイルを右クリックして[プロパティ]を選択すると、[常に上書きする]チェックボックスのみが表示されます。私は単純にバージョン番号を同じにしておきます。これはファイルの上書きを防止すると言われていますが、それは私の状況で危険なことがあります。実際のファイルプロパティでは、バージョンナンバー。

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

ご協力いただきありがとうございます。あなたは揺れる。

答えて

5

二つのアプローチ:それは最初の場所でそれをインストールしないようにするために

1)InstallShieldは、ファイルを上書きしないようにするための「最も簡単な」方法です。それをa.txtとしてインストールし、最初の実行時にアプリケーションをb.txtにコピーさせてください。そして、nstallShieldは最初にb.txtについて知ることさえありません。

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

3)何とか#2がまだ動作していない場合、コンポーネントのNever Overwrite属性をYesに設定します。

ファイルのコストは、KeyFileに基づいています。キーファイルがどのようなものであっても、コンポーネント内の他のすべてのファイルは、上書きに関して同じことを行います。 「常に上書きする」とは、Verisonファイルが65535.0.0.0であることを間違ってMSIに伝えているため、Create/Modificationルールは、Versioned trumps Non-Versioned filesルールに置き換えられています。

関連する問題