2009-06-15 23 views
2

私は起動時に自動的にアップグレードアプリケーションを実行するアプリケーションを持っています。しかし、最初のアプリを見つけてアップグレードが必要であると判断した場合、Vistaのセキュリティのためにアップグレードを開始して失敗します。管理者として手動でアップグレードを起動すると、正しく機能します。Vistaでプログラムでプログラムを実行する

1)私は最初のアプリから自動的にこれを行うことができますか?

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

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

答えて

4

したがって、管理者権限なしでの管理者権限が必要なインストールを開始するには? UACを有効にすると、管理者権限を持つアプリを起動すると、ダイアログが定義されている必要があるためです。それがその全体のポイントです。

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

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

Reed Copseyの解決策1:あなたのアップデータがサービスの場合、人々はそれを好まないかもしれません。あなたが信頼できる人でなければ、アンチウイルス会社と言えば、これはあなたの評判を真剣に損なう可能性があります。

+0

これは商用アプリケーションなので、UACを無効にすることは私たちではなくユーザーに任されているので、望ましい解決策ではないと思います。サービスに関しては私は同意します。 – LilMoke

-1

単純なアプローチは、VistaのUACを無効にすることです。これを行う方法に関する情報はhttp://www.vista4beginners.com/How-to-disable-UACにあります。この方法の明らかな欠陥は、すべてのアプリケーションに影響を与え、セキュリティ上の懸念が生じる可能性があることです。セキュリティが懸念される場合、別の方法を追求したいかもしれません。

+0

これはまっすぐでもセキュリティ上の懸念でもないだけでなく、問題に対するユーザーの解決策です。アプリケーションの観点からは、元の問題は解決されません。 – OregonGhost

1

これを自分のシステムで実行しようとしている場合、UACを無効にするとas suggested by I3a0が動作します。

他のシステムに展開するソフトウェアの場合は、これを行う直接的な方法はありません。セキュリティダイアログを避けることは、UACシステムを完全に破ることです。簡単に回避する方法があれば、それは役に立たないでしょう。このダイアログは、権限の昇格が必要な作業を行っているために存在します。

オプションのカップルがここにあります

1)は、アップグレードに通知し、ユーザー空間のアプリケーションからのIPCのいくつかの形式で、サービスとしてごアップグレーダーを書き換えます。これにより、管理者としてシステムにインストールされ、バックグラウンドで実行されるため、アップグレードを要求したときに既に管理者権限が付与されています。

2)アップグレードアプリケーションで特権を必要とするものを具体的に把握し、それらのセクションを通常のユーザーとして実行できるように修正します。

関連する問題