1

いくつかの依存関係があるため、インストールの一部で Windows エクスプローラーを閉じます。緊急時の安全として、失敗した場合にユーザーがシェルを持っていることを確認したいと思います. 'Execute="rollback"' を使用したタイプ 34 のカスタム アクションを実行したいと思っていましたが、CA を作成するほど賢くはないようです。

ここに私が持っているものがあります:

<CustomAction Id="RestartExplorer"     
   ExeCommand="explorer.exe"
   Execute="rollback"
   Impersonate="yes"
   Return="asyncNoWait"/>

ディレクトリ要素が不足していることはわかっていますが、%windir%\system32 を指定するプラットフォームに依存しない方法を指定する方法がわかりません。環境変数やスクリプトの使用はオプションではありません。

ありがとう :)

4

2 に答える 2

1

インストール中に Explorer を強制終了しようとしたことはありません。自動再起動しませんか?インストール中に再起動したら?

それ以外の場合は、QuietExec カスタム アクションを使用して再開します。

また、InstallFinalize の直後のカスタム アクションとして開始することもできます。ロールバックを無効にすることができ、コミットが実行されないため、コミットとは言いませんでした。

SystemFolderプロパティも探しているものです。これを 32 ビットおよび 64 ビットのマシンで必ずテストしてください。

于 2012-10-04T22:57:31.020 に答える
0

私が考えることができるどんな場合でも、エクスプローラーを殺すことは間違ったことです。エクスプローラーを再起動する代わりに、シェル拡張機能のバグを修正しました ;) 助けてくれてありがとう

于 2012-10-15T20:30:29.780 に答える