はみ出しRAPTの戯言

- a day after yesterday -

目次

Blog 利用状況

ニュース

書庫

日記カテゴリ

コミュニティ リンク

[Vista] 昇格中に昇格前のユーザー名等を取得する方法が分からない

inno setup で相変わらずインストーラ/アンインストーラを書いている。
これで作ったインストーラを Vista で置くと、アイコンにシールドアイコンが
表示されているので、インストール時にデフォルトで特権昇格を要求するようだ。

これはこれでいいのだけど、言い換えれば、常に特権でしかインストールできないのね。
例えば、マイドキュメント内にインストールしたいとしても管理者権限でインストール
されてしまう。すなわち、通常ユーザーモードではインストールができないorz

manifest 設定を書き換えればいいのだろうけど、そうすると権限別にインストーラを
用意しなければいけないのだろうか、という話になる。

また、アンインストール時にユーザーの設定を消すかどうか選択できるようにしてあるが、
特権昇格するとユーザーのフォルダを求める際に、ユーザーが管理者にすりかわってしまい、
本来のユーザー名・ユーザーフォルダが取得できず、正常に処理できない。

特権昇格中であっても本来のユーザー名等を取得する方法はあるのだろうか。

投稿日時 : 2007年1月29日 4:00

コメントを追加

# re: [Vista] 昇格中に昇格前のユーザー名等を取得する方法が分からない 2007/01/29 13:01 とっちゃん

>そうすると権限別にインストーラ
exe で配布の場合は、基本的にはそうなりますね。

inno に限って言えば、インストール処理の実体が別プロセスということはないので(というか、msi以外でそんなものは見たことがないがw)、どうにもなりません。

msi でもこの問題はあって、msi 自身が問題なくても、それを実行するEXEが昇格しちゃうという場合がありますからねw<作り方の問題...

>特権昇格中であっても本来のユーザー名等を取得する方法はあるのだろうか。

インストーラが求めるという意味では存在しないです。
制限が解除されての昇格(本当の意味での昇格)なら、同じユーザーですが、管理者権限を持ってないアカウントの場合、別ユーザーへの切り替えですからねw

こればっかりは、どうにもなりません。

# re: [Vista] 昇格中に昇格前のユーザー名等を取得する方法が分からない 2007/01/29 22:04 Jitta

http://blogs.wankuma.com/jitta/category/488.aspx
『しつこく「インストーラ検出機能」』『Vista でも、「標準ユーザ」でログオンをデフォルトに』『Windows Vista における、マニフェストを使用したアプリケーションのマーキング』あたりをどうぞ。

> マイドキュメント内にインストールしたいとしても管理者権限でインストールされてしまう。
Administrators グループのアカウントは、そのままです。Users グループのアカウントの場合は、アカウントのユーザが管理者権限を持っていることを確認するために利用したアカウントになります。
確認はしていませんが、偽装解除(RevertTo で検索)でいけると思います。

「自動昇格しなくてもいいやん」は、何度も食い下がったのですが、「過去との互換性のため」ということで、却下されました。

# re: [Vista] 昇格中に昇格前のユーザー名等を取得する方法が分からない 2007/01/29 23:37 RAPT

とっちゃんさん>
う~ん、やはり、inno だけでやろうとするのはかなり厳しそうですね。
最悪、一時フォルダに別 exe を展開して、とか、いろいろ難しいことを考えてしまいました。

Jittaさん>
ありがとうございます。拝見させていただきました。とても参考になりました。それを踏まえて・・・
対象としているアプリは、基本的にホームユーザー向け+企業向けの両方を対象とする必要があるので、インストーラ検出機能が有効であってもきちんと動作することが求められるんですね。

>「Vista でも、「標準ユーザ」でログオンをデフォルトに」
これこれ。諸事情により、評価版で散々いじくったのだけど、正式版ではユーザーモードで実行されるのか・・・。

とはいえ、関連づけを行なう関係上、レジストリの HKEY_CLASSES_ROOT や HKEY_LOCAL_MACHINE に基本情報を書き込む必要があるため、昇格が必要になりますね。
基本情報さえあれば、ユーザーモードで IApplicationAssociationRegistration インターフェース経由で関連づけを設定できる事は確認しました。

RevertToSelf() API もテストコードを書いたときに使ってみましたが、ターゲットは inno setup での一時的な処理なので、(できるかどうかは別として)昇格でアンインストーラ起動→偽装解除→必要な処理→再度昇格して続行、なんてできるのかなぁ、と。(Pascal Script ってまだ慣れません)
※inno setup では標準で、requireAdministrator として manifest が組み込まれているようです。

明日、余裕があれば製品版 Vista (MSDN) を使っている人にお願いして「Vista でも、「標準ユーザ」でログオンをデフォルトに」での動作確認したいと思います。情報ありがとうございました。

# It's a shame you don't have a donate button! I'd certainly donate to this outstanding blog! I guess for now i'll settle for book-marking and adding your RSS feed to my Google account. I look forward to brand new updates and will talk about this site wit 2019/05/06 21:03 It's a shame you don't have a donate button! I'd c

It's a shame you don't have a donate button! I'd certainly donate to this outstanding blog!
I guess for now i'll settle for book-marking and adding
your RSS feed to my Google account. I look forward to brand
new updates and will talk about this site with my Facebook group.
Talk soon!

# Hmm is anyone else having problems with the images on this blog loading? I'm trying to determine if its a problem on my end or if it's the blog. Any feed-back would be greatly appreciated. 2019/05/15 0:50 Hmm is anyone else having problems with the images

Hmm is anyone else having problems with the images
on this blog loading? I'm trying to determine if its a problem on my end or if it's the
blog. Any feed-back would be greatly appreciated.

# I don't even know how I ended up here, but I believed this put up was once good. I don't realize who you are but definitely you're going to a well-known blogger for those who are not already. Cheers! 2019/07/18 22:09 I don't even know how I ended up here, but I belie

I don't even know how I ended up here, but I believed this put
up was once good. I don't realize who you are but definitely you're going to a well-known blogger
for those who are not already. Cheers!

# ブランド通販店 2019/09/17 9:39 Georgefipse

弊社は各ランクのブランド商品満載し、ブランド通販店で一番信用のある店なので!。
品質はこちらが間違いなく保証します。
https://www.ginzaoff.com

■取扱ブランド ロレックス時計コピー、カルティエ時計コピー、IWC時計コピー、
ブライトリング時計コピー、パネライ時計コピー.
◆ スタイルが多い、品質がよい、価格が低い、実物写真!
◆ ご入金頂いてから最速4日、遅くとも7日程度でご指定場所へ発送出来る予定でございます
◆ 商品送料を無料にいたします

◆信用第一、良い品質、低価格は 私達の勝ち残りの切り札です。
◆ 当社の商品は絶対の自信が御座います。
◇ N品質 シリアル付きも有り 付属品完備!

◆ 必ずご満足頂ける品質の商品のみ販売しております。
◇ 品質を最大限本物と同等とする為に相応の材質にて製作している為です。
◆ 絶対に満足して頂ける品のみ皆様にお届け致します。

興味あれば、是非一度サイトをご覧になって下さい。
今後ともよろしくご愛顧くださいますよう、お願い申し上げます
https://www.ginzaoff.com
お取り引きを開始させていただきたく思います。
詳細に関してはどうぞお気軽にご連絡ください。

タイトル
名前
URL
コメント