- PR -

ユーザ情報の取得

1
投稿者投稿内容
shin2
ベテラン
会議室デビュー日: 2004/03/10
投稿数: 58
投稿日時: 2004-08-07 23:17
インストールプログラムでユーザ情報を登録(名前、所属)した場合、アプリケーション上でこのユーザ情報を取得するのはどのようにすればいいのでしょうか?

Registryクラスをいろいろ見たのですが、よくわかりませんでした。どなたか教えてください。よろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-08-09 08:20
 何の、ユーザ情報でしょう?アプリケーション or Windows?

 アプリケーションは、そのアプリケーション固有です。例えば、JUSTSYSTEMならば、HKLM/SOFTWARE/JUSTSYSTEM/Common/UserNameにあります。
 windowsは、.NET Frameworkには、直接参照する為のクラスはなかったと思います。…MSDNを「ユーザー名」で、キーワード検索したら、ありました。ログイン中のユーザは、User.Identityで取れるようです。
shin2
ベテラン
会議室デビュー日: 2004/03/10
投稿数: 58
投稿日時: 2004-08-10 22:39
Jittaさんありがとうございます。

私が聞きたかったのは、アプリケーションのユーザ情報です。あの”このアプリケーションに登録されているユーザは以下の通りです”というウィンドウとともにでてくるユーザ名、これがインストール時に設定した名前ですがこれを取得したかったのですよ。

インストール時にユーザ名を登録することができた場合、この情報はレジストリに登録されるのでしょうか? 
レジストリはあまり操作したくないのですが・・・結局インストーラがどのような場所にどのように情報を格納しているか?ということになりそうですね。

VS2003に標準でついているインストーラ作成ツールに関する情報ってどこを見ればよいのでしょうか?? すみませんがご教授願います(Jittaさん以外の方でもおわかりでしたら情報提供お願いします)。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-08-11 01:14
shin2さん、こんばんは。

引用:

インストール時にユーザ名を登録することができた場合、この情報はレジストリに登録されるのでしょうか? 


済みません、何のインストールの話なのかが曖昧なのですが、これってもしかして、ご自身が作成するインストーラ(VisualStudioで作成可能なセットアッププロジェクト)の話でしょうか?
でもって、つまり、ユーザーインターフェイスエディタで「ユーザー情報」ダイアログを追加した場合、「インストール時にそこで入力された情報をどうやって取得したらよいのだろうか」という事を聞きたかったりします?

そうだと仮定して話を進めますが、説明を見ると、

引用:

製品に対する InstallProperties キーの下の値として、レジストリに書き込まれます。


なんて事が書いてありますね。
そこで、良く判らないのでセットアッププロジェクトのレジストリエディタで、HKEY_CURRENT_USER\Software\[Manufacturer]\[ProductName]\InstallProperties というキーをインストール時に作成するように指定しましたが、何も起こりませんでした。
次に、Platform SDK: Windows Installerで、それらしいプロパティが無いかどうかを調べたところ、COMPANYNAME とか USERNAME とかのプロパティがあることを発見、HKEY_CURRENT_USER\Software\[Manufacturer]\[ProductName] キーの下に、Value = [COMPANYNAME]とか[USERNAME]とかを指定した文字列値を書き込むように指定したところ、ちゃんとレジストリにこれらの値が書き込まれていました。

引用:

VS2003に標準でついているインストーラ作成ツールに関する情報ってどこを見ればよいのでしょうか?? すみませんがご教授願います(Jittaさん以外の方でもおわかりでしたら情報提供お願いします)。


アプリケーションとコンポーネントの配置は、もちろん既にご覧になっていると思いますが、他にはやはり、先にも挙げた、Platform SDK: Windows Installerあたりになるでしょうか...。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-08-11 07:00
諸農です。

引用:

私が聞きたかったのは、アプリケーションのユーザ情報です。あの”このアプリケーションに登録されているユーザは以下の通りです”というウィンドウとともにでてくるユーザ名、これがインストール時に設定した名前ですがこれを取得したかったのですよ。


アプリケーション固有の情報はそのアプリケーションが独自に
管理していることが一般的だと思います。
レジストリに保管している場合もあるでしょうが、アプリケー
ションが独自に何らかのファイルに情報を格納している場合も
あると思います。
ですので、特定の方法で個々のアプリケーションが管理してい
るユーザー情報を取得することは難しいと思います。

引用:

レジストリはあまり操作したくないのですが・・・結局インストーラがどのような場所にどのように情報を格納しているか?ということになりそうですね。


そういうことになると思います。

ただし、多くのインストーラーがセットアップ時にデフォルト的に
表示するユーザー情報、所属情報というのは、レジストリから取得
しています。この情報はWindowsのインストール時に設定した情報で、
レジストリの
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion
のRegisteredOwnerに格納されているものを参照しているようです。



_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
1

スキルアップ/キャリアアップ(JOB@IT)