2

起動時にアップグレーダー アプリケーションを自動的に実行するアプリケーションがあります。ただし、最初のアプリが起動し、アップグレードが必要であることがわかると、アップグレーダーが起動し、Vista のセキュリティのために失敗します。管理者としてアップグレーダを手動で起動すると、正しく機能します。

1) 最初のアプリからこれを自動的に行うにはどうすればよいですか?

2) プロパティを管理者として起動するように設定すると、セキュリティ ダイアログが表示されます... Vista のセキュリティ/許可ダイアログなしで起動するにはどうすればよいですか?

助けてくれてありがとう!!

4

3 に答える 3

4

管理者権限なしで管理者権限を必要とするインストールを開始しますか? なぜなら、UAC が有効になっている場合、管理者権限でアプリを起動するには、定義上ダイアログが必要だからです。それが要点です。

それも試さないでください。自動更新を備えたまともなアプリケーションである Firefox を見てください。更新ごとに同意ダイアログを確認する必要がありますが、それで問題ありません。ユーザーがそれを望まない場合は、UAC を無効にできるからです。しかし、それは彼の問題であって、あなたの問題ではありません。プログラムから/プログラムに対してUACを無効にすることは想定されていません。玄関のベルを鳴らすだけでいいのに、入るにはすべてのドアのロックを解除する必要があるゲストのようなものです。

を指定するアップデーターにマニフェストを埋め込みますrequireAdministrator。これにより、ユーザーが UAC を有効にしている場合は同意ダイアログが表示され、ユーザーが UAC を無効にしている場合は問題なく動作します。

Reed Copsey の解決策 1 について: アップデーターがサービスである場合、人々はそれを好まない可能性があります。あなたが十分に信頼されているアンチウイルス企業でない限り、これはあなたの評判に深刻な損害を与える可能性があります.

于 2009-06-15T16:17:10.473 に答える
1

独自のシステムでこれを実行しようとしている場合は、I3a0 で提案されているようにUAC を無効にするとうまくいきます。

これが他のシステムに展開するソフトウェア用である場合、これを行う直接的な方法はないと思います。セキュリティ ダイアログを回避することは、UAC システムを完全に打ち負かすことになります。それを回避する簡単な方法があったとしても、それは役に立たないでしょう。権限の昇格が必要な操作を行っているため、ダイアログが表示されます。

ここにはいくつかのオプションがあります。

1) アップグレーダをサービスとして書き直して、アップグレードを通知するユーザー空間アプリケーションからの何らかの形式の IPC を使用します。これにより、管理者としてシステムにインストールし、バックグラウンドで実行できるようになるため、アップグレードを要求したときにすでに管理者権限がありました。

2) アップグレード アプリケーションで昇格された特権が特に必要なものを特定し、それらのセクションを修正して、通常のユーザーとして実行できるようにします。

于 2009-06-15T16:13:53.917 に答える
-1

簡単な方法は、Vista の UAC を無効にすることです。これを行う方法については、http://www.vista4beginners.com/How-to-disable-UACを参照してください。この方法の明らかな欠点は、すべてのアプリケーションに影響を与え、セキュリティ上の問題を引き起こす可能性があることです。セキュリティが懸念される場合は、別の方法を使用することをお勧めします。

于 2009-06-15T16:03:02.787 に答える