7

Windows UAC、スケジュールされたタスク、および「dbupdate.exe」という名前の実行可能ファイルに問題があります。私はソース コードやマニフェストなどに対しては完全な権限を持っていますが、ユーザー システムに対しては権限がありません (略して、通常のソフトウェア エンジニア ;-)。言語は Delphi ですが、重要ではないと思います。

Windows Vista および Windows 7 のタスク スケジューラでアプリケーションを使用すると問題が発生します。プログラムの名前は dbUpdate.exe です。xp/vista マニフェストが組み込まれており、プログラムを "asInvoker" で開始するように構成します。

現在、Vista と Windows 7 では問題なくプログラムを起動できますが、システムにログインする必要があります。ログインしていない場合、プログラムは実行されません (Windows タスク スケジューラを使用していますが、他のスケジューリング プログラムにも問題があることはわかっています)。しかし:プログラムの名前を「dbBlaBla.exe」に変更すると、実行されます。UACインストーラー検出は、私のプログラムがインストーラーであると考えているという点に私を導きます(そうではありませんが、更新、セットアップなどのファイル名を調べていることは知っています)。

ウェブを検索しましたが、役立つ情報はあまり見つかりませんでした。そこでここで質問します

スケジュールされたジョブでマニフェストを実行できるようにするには、特別なマニフェストを作成する必要がありますか? または、スケジュールされたジョブまたは実行可能ファイルに対してのみ UAC を無効にする方法はありますか? それとも、本当に別の名前を選択する必要がありますか (前に述べたように、それはうまくいきます)、衣装担当者と私の同僚がこれについてあまり満足していないというリスクを冒す必要がありますか?$

助けてくれてありがとう、挨拶

4

2 に答える 2

6

Windows 7 では、「update.exe」という名前のプログラムが明らかに特権を要求します。それは明らかに名前であり、それはマイクロソフトの風変わりなものの1つにすぎません. 名前を「anythingUpdate.exe」に変更すると、魔法の違反がトリガーされます。「UpdateAnything.exe」も!

そこで私は自分の名前を up7.exe に変更しましたが、今では Microsoft は冷静で議論の余地がありません。Vistaでも同様の現象が発生するようです。

したがって、「updatedb.exe」は機能しません。「upd_task.exe」は...

于 2011-11-08T23:25:00.673 に答える
1

http://social.msdn.microsoft.com/Forums/en-US/windowscompatibility/thread/1b316a7f-852e-4a71-89d3-090e45990f98から

インストーラー検出でインストール プログラムを検出するには、[ユーザー アカウント制御: アプリケーションのインストールを検出し、昇格のプロンプトを表示する] 設定を有効にする必要があります。この設定は既定で有効になっており、セキュリティ ポリシー マネージャー スナップイン (secpol.msc) またはグループ ポリシー (gpedit.msc) を使用して構成できます。

于 2011-11-15T17:14:50.600 に答える