6

Windows アプリケーション マニフェストの文法は非常に緩く、認識されない部分は無視されます。どの部分が認識され、どの部分が認識されていないかを診断するにはどうすればよいですか?

この質問につながる問題は、指定されたhighestAvailableのrequestedExecutionLevelを持つサイドバイサイドUACマニフェストを持つアプリケーションにあります。これにより、Vista のファイル仮想化がオフになりますが、そうではありません。理由を知りたいです。マニフェストは使用されていますが、意図的に構文エラーを導入して確認しましたが、どのように使用されているかを判断する方法はありません。

4

4 に答える 4

5

同様の問題がありました。アプリがhighestAvailableとしてマニフェストされているにもかかわらず、タスクマネージャーは、実行中のアプリに対して仮想化が有効になっていることを示しました。ファイルのマニフェストに mt.exe を使用してみました。一部では機能しましたが、他のものでは機能しませんでした。その奇妙な動作により、exe のタイムスタンプに基づいて UAC 情報に影響を与える永続的なキャッシュが Vista にあると思いました。解決策は、 Resource Tunerのマニフェスト ウィザードを使用することでした。

于 2009-04-17T07:41:33.643 に答える
4

キャッシュがあります。

SxS アクティベーション コンテキスト キャッシュは、.manifest ファイルをキャッシュします。

私が読んだことから、マニフェストの存在のみをキャッシュしていると思われます。

これはメモリベースであり、再起動時にのみクリアされます - ただし、再起動時に常にクリアされるとは限らず、他の多くの人もこれを報告しています. c:\windows\sxs\manifestCache を見つけて、再起動時にそこから本当にリロードされるかどうか疑問に思いました。

強制する唯一の方法は、.exe の更新日を変更することです。

マニフェストを編集するときも注意してください。エディターを昇格させないと、UAC が仮想化されます。もちろん、仮想化されたコピーはローダーによって無視されます。

参考文献:

于 2011-01-04T01:43:32.297 に答える
4

Wylder への私のコメントを参照してください - 実行可能ファイルとマニフェストのタイムスタンプを更新しようとしましたか?
管理者特権でのコマンド プロンプトから "sxstrace" を実行すると、何が返されますか?
マニフェストをどこかに投稿できますか?

于 2009-04-19T09:32:27.417 に答える
0

ドキュメントを確認して仕様に準拠していることを確認しますが、それ以外は、私が知る限り、同じことを行う自動化ツールはありません。

于 2009-04-15T00:00:25.860 に答える