マイクロソフト フォーラムでこの質問をしたところ、彼らの行動に驚きました。
また、いくつかの詳細情報とともにここに再投稿しました。
This post Problem installation WPT manifest using wevtutil は、wevtutil がマニフェストの resourcefileName 属性のサイズに制限があることを示唆しています。
これはいけないと思っていたのですが、残念ながらそうです!
なぜこのような制限が必要なのか不思議です。
これが私がやったことです。パスの深さがかなり中程度のソリューションがあります (例: C:\users\\\
イベント トレースの設定に必要なマニフェスト ファイル内の resourceFileName と messageFileName をポイントすると、こちらを参照してください: http://msdn.microsoft.com/en-us/library/windows/desktop/dd996930(v=vs .85).aspx) を元のパス (上記の形式) の exe に追加すると、次の警告が表示されます。
resources are not accessible.
exe のパスを C:\temp\publisher.exe のようなものに設定し、手動でコピーすると
exe をソリューション出力ディレクトリから C:\temp フォルダーに移動すると、すべて正常に動作します。
PS: また、exe にはアクセシビリティのための適切な権限が必要です。
さて、私の質問は、ファイル パスに対するこの不必要な制限はなぜですか? このおそらく強力な API が、特定の長さを超えるファイルパスを処理できないように記述されている場合、プログラムが非常に貧弱であると言って申し訳ありません。皮肉なことに、アプリケーションで使用したい機能がたくさんあります。そうは言っても、この動作を変更できる resourceFileName および messageFileName 属性の特定のオプションはありますか? msdn はそれについて何も言いません。または、何か不足していますか?
まず、任意のパスからイベント パブリッシャーをインストールするための回避策を誰かが見つけた場合は、教えていただけますか?
次に、Microsoft の対応です。私の質問をきちんと読まないまま、司会者が私の質問を Windows Server スレッドに移動しました (彼は、明らかに Windows Server と何らかの関係があると思われる resourceFileName という単語でこれを推測しました)。