67

ローカル マシンの WiX で奇妙な問題が発生しています。問題は断続的ですが、ソリューションを数回再構築した後、WiX プロジェクトは ICE 検証エラーをスローし始めます。

フォルダーに移動しAppData\Local\Temp、MSI を含むすべての一時フォルダーを削除すると、ソリューションが再度コンパイルされます。しばらくすると、問題が再び発生し始めます。一時フォルダーを常にクリアしなければならないことは、持続可能または満足のいく解決策ではありません。

他の誰かがこの問題に遭遇しましたか? 検証エラー コードは、常に ICE30、ICE38、ICE64、および ICE91 の組み合わせのようです。

アップデート:

リクエストに応じて、最近の失敗からのエントリを次に示します。

error LGHT0204: ICE38: ICE Internal Error 1002. API Returned:
1615. error LGHT0204: ICE38: Error 2235: /OU.AppFramework.Includes.msi, _Profile, UPDATE DirectorySET _Profile=0
error LGHT0204: ICE64: ICE 内部エラー 1001. :
1615. エラー LGHT0204: ICE64: エラー 2242: OU.AppFramework.Includes.msi, _Profile, ALTER TABLE DirectoryADD _ProfileSHORT TEMPORARY HOLD
エラー LGHT0204: ICE91: ICE 内部エラー 1001. API が返さ
れました: 1615. エラー LGHT0204: ICE91: エラー 2242: OU.AppFramework.Includes.msi、_Profile、ALTER TABLE DirectoryADD _ProfileSHORT TEMPORARY HOLD

興味深いことに、この障害は私が昨夜オフィスを出る前に発生し、今朝オフィスに戻ったときにはソリューションが正常にコンパイルされていました。MSI が WiX によってビルドされる一時ディレクトリを中心にしているように見えるので、ビルド プロセスがファイルをロックしている可能性はありますか?

更新 2:

そして今、600 以上のエラーに戻っており、ほとんどがこのエラーの繰り返しです:


エラーLGHT0204 : ICE30: ICE 内部エラー 100. APIが返さDirectory_Parentれました: 1615 . =? そして<>?DirectoryDefaultDir_ICE30SFN_ICE30LFNDirectoryDirectoryDirectoryDirectory_Parent

更新 3:

@limpan による提案を試みた後でも、問題は依然として存在します。ライトが MSI にアクセスしようとしたときに MSI 出力フォルダーがロックされていることが原因で、ライトによっていくつかの警告が表示されます。

警告 549 ディレクトリ '\AppData\Local\Temp\2opu3hxf' は使用中のため、削除できません。light.exe

4

6 に答える 6

63

<RunWixToolsOutOfProc>true</RunWixToolsOutOfProc>WiX プロジェクト ファイルに追加してみてください。

しばらくの間同じ問題が発生し、一時ファイルの削除や msbuild 環境変数の設定など、さまざまな回避策を試しました。これらはすべてしばらくの間は機能しているように見えましたが、最終的に (場合によっては数日後に) 問題が再発しました。

私のマシンでは、devenv.exe が、light.exe が削除しようとしているファイルをロックしていたプロセスであることに気付きました。また、WiX ツールをアウト オブ プロセスで実行するためのこのプロジェクト設定について言及している無関係なスレッドにも出くわしました。試してみる価値はあると思いましたが、問題は解決したようです (これまでのところ...)

于 2014-03-12T10:18:14.180 に答える
18

ICE30の場合: ICE Internal Error 100. API Returned: 1615、これを試して動作するかどうかを確認してください:

  1. Visual Studio のすべてのインスタンスを閉じます (重要なインスタンスだけかもしれませんが、念のため)
  2. に進みC:\Documents and Settings\\****user id****\\Local Settings\Temp\ます。
  3. 「s12qgaks」のようなフォルダをすべてクリアします。基本的に、MSIファイルが含まれています
  4. ソリューションを開いて再コンパイルします。

幸運を!

于 2013-03-14T15:57:30.200 に答える
10

私も同じ問題に直面していました。プロジェクトのプロパティで、 [ツール設定]に移動し、[ ICE 検証を抑制]をクリックします。

ここに画像の説明を入力してください

于 2013-02-20T23:21:38.857 に答える
1

同じ問題がありました。それは私のウイルス対策ソフトウェア (OfficeScan) であることが判明しました。Light.exe によって作成された中間ファイルがロックされ、検証プロセスが失敗しました。一時フォルダーをウイルス スキャンから除外するか、ICE 検証を無効にすることは、受け入れられる解決策ではありません。

誰かがより良い解決策を持っている場合。私が知りたいのですが。

于 2014-03-04T17:54:49.247 に答える