2

インストール中にいくつかのxmlファイルをzipファイルに圧縮するmsiパッケージを作成しました。この目的のために CustomAction を作成しました。

<CustomAction Id="CompressMy" BinaryKey="zipEXE" ExeCommand="a -tzip &quot;[TEMPLATE_DIR]my.zip&quot; &quot;[TempSourceFolder]data.xml&quot;" Return="check" HideTarget="no" Impersonate="no" Execute="deferred" />

ローカル ドライブにインストールしようとすると正常にインストールされますが、最近、顧客が[TEMPLATE_DIR]Windows Vista のネットワーク ドライブにインストールしたいと考えています。インストーラーを呼び出すユーザーがドライブをマップしていても、昇格したインストール ユーザーがネットワーク ドライブをマップしていないため、CustomAction は失敗します。これは、unc-path にインストールしようとした場合にも発生します。圧縮には7zipを使用しています。msi-package に追加しました。

を設定しようとしましたが、ProgramData-dir ではImpersonate="yes"ない場合、インストールは失敗します。TEMPLATE_DIR

私に何ができるか分かりますか?がネットワーク パスであるかどうかを確認するTEMPLATE_DIRことを考えましたが、これを確認する方法がわかりませんでした。または、このカスタム アクションを使用しながらローカルおよびネットワーク インストールを提供する方法について、他に何かアイデアはありますか。

何かアドバイスがあれば良いのですが、

挨拶、マーティン

4

1 に答える 1

0

タスクを達成する 1 つの方法は、カスタム アクションにネイティブ コードを使用することです。同様の問題があり、5月のすべてのCAをネイティブコード(C ++)に変換しました

ではごきげんよう

s

于 2010-05-01T12:43:17.373 に答える