DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ショートカットを別ユーザ上に表示させる方法

環境/言語:[OS:Win2000 VB6]
分類:[インストーラ]

VSIの設定方法についてお尋ねします。

vsiで作成したインストーラをAdmiユーザでインストールして、インストールしたアプリ(VB6で作成)を実行するときは別のユーザidでログインします。
このとき、Admiユーザでログインすると、デスクトップ&スタートメニューにインストールした実行ファイルのショートカットが表示されますが、別ユーザでログインすると、デスクトップ&スタートメニューにショートカットが表示されません。

別ユーザでログインしたときにデスクトップ&スタートメニューにショートカットを表示する方法をご教示ください。(色々ネットで検索しましたが、解決法が見つかりませんでした。)
ちなみにAdmiでログインするとアプリは正常に起動します。

作成したVSIの設定は、
ファイルシステムに、「ProgramMenuFolder」「ユーザのデスクトップ」フォルダを作成し、その中に実行ファイルのショートカットファイルを入れています。
2004/08/17(Tue) 18:22:26 編集(投稿者)

■No5608に返信(VSI初心者さんの記事)
> VSIの設定方法についてお尋ねします。
>
> vsiで作成したインストーラをAdmiユーザでインストールして、インストールしたアプリ(VB6で作成)を実行するときは別のユーザidでログインします。
> このとき、Admiユーザでログインすると、デスクトップ&スタートメニューにインストールした実行ファイルのショートカットが表示されますが、別ユーザでログインすると、デスクトップ&スタートメニューにショートカットが表示されません。
>
> 別ユーザでログインしたときにデスクトップ&スタートメニューにショートカットを表示する方法をご教示ください。(色々ネットで検索しましたが、解決法が見つかりませんでした。)
> ちなみにAdmiでログインするとアプリは正常に起動します。
>
> 作成したVSIの設定は、
> ファイルシステムに、「ProgramMenuFolder」「ユーザのデスクトップ」フォルダを作成し、その中に実行ファイルのショートカットファイルを入れています。

システムドライブ直下の、Documents and Settingsを見ればわかると思いますが、
プログラムメニューやデスクトップは、そのユーザさんごとに用意されています。

Admi(Administrator)のユーザでないと見れないということは、

 ・プログラムメニュー:%SystemDrive%\Documents and Settings\Admi\スタート メニュー\プログラム
 ・デスクトップ:%SystemDrive%\Documents and Settings\Admi\デスクトップ

に置いてあるからではないでしょうか?


以下のように変更すれば、すべてのユーザで見ることができます。
 ・プログラムメニュー:%SystemDrive%\Documents and Settings\All Users\デスクトップ
 ・デスクトップ:%SystemDrive%\Documents and Settings\All Users\スタート メニュー\プログラム

# %SystemDrive%は、そのOS(Windows)がインストールされてるドライブのことです。
java.lang.Nullpoさん 
早速の返答ありがとうございます。

>  ・プログラムメニュー:%SystemDrive%\Documents and Settings\All Users\デスクトップ
>  ・デスクトップ:%SystemDrive%\Documents and Settings\All Users\スタート メニュー\プログラム

これは了解しました。
これをVSIのインストーラーの中で自動的に設定したのですが、・・
Orcaを使用するのでしょうか?(的外れだったらごめんなさい。)
■No5611に返信(VSI初心者さんの記事)
> これをVSIのインストーラーの中で自動的に設定したのですが、・・
> Orcaを使用するのでしょうか?(的外れだったらごめんなさい。)

その通り、Orcaを使用します。
All Userディレクトリの存在を知ることができたのならば、
Googleなどで検索すれば、すぐ引っかかりますよ。

なんと、このサイトの管理者さんがご丁寧に説明しているページが
1番上にヒットしたわけですが。

http://dobon.net/vb/installer/installer2-2.html (ここの1番下ですね)
自己レスです。

> >> ・プログラムメニュー:%SystemDrive%\Documents and Settings\All Users\デスクトップ
>> ・デスクトップ:%SystemDrive%\Documents and Settings\All Users\スタート メニュー\プログラム

上記フォルダを、「特別なフォルダの追加」→「カスタム」で作成すればいいのですね。実験してみます。
■No5614に返信(VSI初心者さんの記事)
> 自己レスです。
>
> > ・プログラムメニュー:%SystemDrive%\Documents and Settings\All Users\デスクトップ
> > ・デスクトップ:%SystemDrive%\Documents and Settings\All Users\スタート メニュー\プログラム
>
> 上記フォルダを、「特別なフォルダの追加」→「カスタム」で作成すればいいのですね。実験してみます。

それは、確実ではないので止めたほうが良いです。
環境変数やレジストリを駆使すればいいのでしょうが、
VSIってそこまで柔軟に出来ましたっけ?

例えば、変える人はいないかもしれませんが、
スタート メニュー フォルダは名前(エイリアス)の変更が可能。
まあ、All User内は2000では不可能ですが、XPでは名前の変更ができちゃいます。

# レジストリで実名を管理していたような...
# で、そこまでのキーがINIファイルに格納されてたような...
java.lang.Nullpoさん
色々アドバイスありがとうございました。

>>
>>> ・プログラムメニュー:%SystemDrive%\Documents and Settings\All Users\デスクトップ
>>> ・デスクトップ:%SystemDrive%\Documents and Settings\All Users\スタート メニュー\プログラム
>>
>>上記フォルダを、「特別なフォルダの追加」→「カスタム」で作成すればいいのですね。実験してみます。
> > それは、確実ではないので止めたほうが良いです。

確かにその通りですね。了解しました。
特別なフォルダを作る必要もなく、「ユーザのデスクトップ」と「ProgramMenuFolder」に
ショートカットファイルを格納して、ORCAでALLUSERプロパティを追加して(値=2)AdmiでインストールするとAll Usersの下にショートカットが作成できました。

ありがとうございました。

でもVSIは初心者には易しくないですね。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板