Windows 7 x64 マシンで非常に奇妙な問題が発生しています。できるだけ詳しく説明しますが、短くはできません。ご理解のほどよろしくお願いいたします。
つまり、Win 7 x64 です。私は管理者権限のアカウントで作業しており、UAC を有効にしています。プログラムがタスクを実行するために昇格を必要とする場合 (古い実行ファイルではなく、昇格を要求する方法がわかっている場合)、それが -user- temp フォルダーから実行されている場合、昇格を要求せず、失敗します。
明確ではないと思うので、任意のディレクトリから昇格を必要とするプログラムを実行すると何が起こるかを段階的に見ていきましょう。たとえば、TrueCrypt を起動しようとすると、それを実行すると、昇格が必要であることが自動的に検出され、昇格がないため、昇格を求められます (UAC プロンプトが表示され、[はい] をクリックすると、プログラムが正常に実行されます)。
次に、temp から実行されるプログラムを見てみましょう。Firefox のような NSIS インストーラーを選択します。これを実行すると、temp に自動的に解凍され、temp から setup.exe が起動されます。この setup.exe 実行ファイルは昇格を要求するはずですが、要求されず、現在のコンテキストで実行しようとしてプロセスが終了します。これは、昇格をチェックする瞬間に、これが真実ではないのに、すでに昇格されていると判断した場合のようなものです。
しかし、管理者権限で NSIS インストーラーを直接起動すると、同じ一時フォルダーに解凍され、setup.exe は昇格を継承して正常に実行されます。
もう一つ奇妙な点として、Mozilla や Google Chrome などの自動更新サービスも、更新のインストールに失敗するという点を付け加えておきます。さらに奇妙なのは、これらのサービスは管理者権限で実行され、私の知る限り、更新をダウンロードしてから管理者権限でインストーラーを起動するからです。しかし、最初のケースと同じことが起き、サービスが setup.exe を起動し、プロセスが自動的に終了します。
OS は 1 年間インストールされており、今日まで問題なく動作しています。もちろん、ワークステーションを再インストールしてもかまいませんが、ここで何が起こっているのか理解したいと思います。問題は普通の日に発生し始めました。最近は何もおかしなことをインストールしていません。
答え1
さて、ようやく何が起こっているのかが分かりました。一時ディレクトリの「Users」グループの一部の権限が (理解できないほど) 失われていたのです。読み取り権限と書き込み権限はそのままでしたが、「ディレクトリのトラバース」権限と「実行」権限は無効になっていました。このため、別の実行可能ファイルを昇格させようとするプロセスがクラッシュしていました。
今、何が私の権限を変更しているのか(おそらくマルウェア)を調べようとしていますが、これはまた別の話です。