0

問題:
ユーザーのマシンに前提条件アプリケーションが存在しない場合、ファイルがインストールされないというユーザー要件があります。しかし、製品をインストールした後、ユーザーが前提条件アプリケーションをインストールするときに、インストーラーを実行し、修復を選択して不足しているファイルとそれに関連するレジストリ エントリをインストールします。

私の期待:
修復は、最初のインストールで既にインストールされているファイルのみを修復することを知っています。しかし、これに対する回避策はありませんか?

あちらこちらに AddLocal がありますか???

4

3 に答える 3

1

コンポーネントタグ内で条件を使用できます。例:

<Component Id="RepairOrReinstallOnly" Guid="YourGUID" Transitive="yes">
    <Condition>
        INSTALLED AND (NOT UPGRADINGPRODUCTCODE)
    </Condition>
    ...
</Component>

このように、コンポーネントは修理、変更、および再インストール時にのみインストールする必要があります。

ただし、最初のインストール (INSTALLED が false) またはメジャー アップグレード (UPGRADINGPRODUCTCODE が true) ではインストールされません。

于 2012-02-09T17:21:06.177 に答える
0

Windows インストーラーが .msi をキャッシュすると、.cab ファイルが削除されるため、これは実現可能ではないと思います。つまり、ユーザーが元のインストーラーを保持していない限り、最初にスキップされたソース ファイルは利用できません。その仮定をするのは少し無理が​​あります。

私の提案は、常にファイルをインストールするか、アプリケーションでオプションのファイルの展開を管理するようにすることです。インストーラーで非標準的なことをしようとすると、管理がはるかに複雑になり、微妙な問題が忍び寄るのを防ぐのがはるかに難しくなることがわかりました.

于 2012-02-09T23:35:18.587 に答える
0

これで、2 つのプログラムを含むアプリケーションが作成されました。インストーラーを実行すると、前提プログラムがインストールされていないため、プログラム 1 のみがインストールされ、プログラム 2 はインストールされません。

前提条件プログラムをインストールし、インストールされていないプログラム 2 が必要な場合は、インストーラーを再度実行するときにインストールする必要があります。

インストーラーには、3 つのオプションがあります。機能の追加と削除、修復、およびアンインストール。[機能の追加と削除] に移動し、プログラム 2 を選択してインストールできます。

pre-req がインストールされていない場合、プログラム 2 をインストールできないという条件をインストーラーで作成する必要があります。そのため、初めてインストールしようとしてプログラム 2 またはフル インストールを選択すると、前提条件が存在しないため、これをインストールできないことが通知されます。プログラム 1 のみがインストールされます。セットアップを再度実行すると、[機能の追加と削除] オプションが表示されます。

于 2012-02-09T12:51:22.987 に答える