Windows XP SP3 マシンでアプリケーションをコンパイルします。コンパイルしたら、それを起動しようとすると、Windows から次のような応答が返されます。
プログラム 'xx' を開始できません。アプリケーションの構成が正しくないため、このアプリケーションを開始できませんでした。マニフェスト ファイルを見直して、エラーの可能性を確認します。アプリケーションを再インストールすると、この問題が解決する場合があります。詳細については、アプリケーション イベント ログを参照してください。
DLL ファイルをコピーしようとしても役に立ちませんでした (必要に応じて、以前の質問を参照してください)。
次に、sysinternals から Process Monitor を起動しました。
それほど長くはないので、ここでレポートを要約しようと思います。
プロセスが開始され、次に最初のスレッドが開始されます。以下の呼び出しは次のとおりです:
私のexeファイルのQueryNameInformationFile() =>
私のexeファイルのSUCCESS Load Image() => ntdll.dllのSUCCESS Load
Image() => SUCCESS
QueryNameInformationFile() if my exe file => SUCCESS
CreateFile() C:\WINDOWS\Prefetch\blahbla.pf => NAME NOT FOUNDで作成しようとすると
、スレッドとプロセスが終了します。
そのフォルダー (C:\WINDOWS\prefetch) を完全に制御できるユーザーを追加しましたが、役に立ちませんでした。それを機能させる方法は?このステップを踏めば、私のアプリケーションは期待通りに動くと思います。
編集: エラーに関する procmon の詳細を追加します。
18:13:40,4305346 xxx.exe 3172 CreateFile C:\WINDOWS\Prefetch\XXX.EXE-1FA9609A.pf NAME NOT FOUND 目的のアクセス: 一般的な読み取り、配置: オープン、オプション: 同期 IO 非アラート、属性: n /a、ShareMode: なし、AllocationSize: なし