5

サービスが停止中または停止保留中の場合に Windows サービスを停止しようとしないように、msi ファイルのカスタム アクションを変更しました。ただし、msiexec /fv mymsi.msi を使用して msi を再キャッシュした後、次のバージョンへのメジャー アップグレードを実行すると (カスタム アクションを停止する修正されたサービスも含まれます)、古いカスタム アクション コードがまだ実行されていることが詳細ログに示されます。キャッシュされた msi が更新されても実行されます。キャッシュされた msi と、再キャッシュで使用されたものとのバイナリ比較も実行しました。

ここで何が間違っていますか。

4

2 に答える 2

5

古いカスタム アクションがまだ実行されている場合は、次の 2 つのいずれかを意味します。

  1. 新しい MSI ロジックは正しくなく、まだカスタム アクションを実行しています。

  2. 再キャッシュ/再インストールは機能しませんでした。

再キャッシュ/再インストールするには、更新されたカスタム アクションを除いて、MSI が古い MSI と基本的に同一 (同じ ProductCode/Upgradecode など) であることを確認してください。次に、次のようにします。

msiexec /fv new.msi /l*v log.txt

これにより、古い MSI が上書きされ、新しい MSI を使用して修復が行われます (また、問題が発生した場合に備えてログ ファイルが提供されます)。

于 2013-06-22T21:44:22.440 に答える