3

VS2008を使用してVSC++ 6.0プログラムを作成しました。アプリケーションを実行またはデバッグしようとすると、Vistaは許可を求めます。これを引き起こすのは、プログラムがどのように構築されているかについてはどうですか?プログラムは、C:\Devのサブフォルダーからビルドおよび実行されています。

この応答は、問題の解決策として私には意味がありませんでした。

4

4 に答える 4

3

可能性 1:

あなたのプログラムはマニフェストで管理者権限が必要であるとマークされています

可能性 2:

プログラムは setup.exe または install.exe と呼ばれます。このようなプログラム名を使用すると、常に管理者権限が必要になります。

For detailed explanation of those and other possibilities why you see this check Getting to Know User Account Control Technet article

于 2008-09-18T18:56:36.590 に答える
1

MVP は、c:\users\yourname\appdata などのユーザー フォルダーからコードとプロジェクトを実行することについて話していました。

この問題を解決するために UAC を無効にしないでください。そうしないと、UAC をオフにしない限り、別のマシンでアプリケーションが実行されません。それは非常に悪い習慣です。あなたのアプリケーションは、完璧な世界では、ユーザーに昇格されたアクセス許可を要求する必要があります。

于 2008-09-18T18:50:00.117 に答える
1

すまさん、ありがとうございます。あなたの応答はこれまでで最高であり、解決策にたどり着くのに役立ちました。原因はあなたの最初の提案で説明できると判断しました。ファイルの名前を「setup」という単語を含まない名前に変更しても効果はありませんでした。

私が間違っていたことが判明しました。VS 2005 と VS 2008 の両方がインストールされており、古い .dsw ファイルを開こうとすると、プロジェクトのアップグレードが開始され、提供されたのは 2005 でした。2005 年には、「アセンブリ」というタグが付いた 1 行だけのマニフェストが作成されたようです。VS 2008 を使用してプロジェクトをアップグレードすると、より広範なマニフェスト ファイルが作成されました。Manifest Tool...Input and Output...Embed Manifest 設定をチェックして、マニフェストがプログラムに埋め込まれていることを確認しました。この新しいマニフェストには、次のデータが含まれています。

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>   

于 2008-09-18T19:27:52.380 に答える
0

管理者でない場合は、C:\Dev でプログラムを実行する権限がない可能性があります。

于 2008-09-18T18:50:23.470 に答える