tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルVistaにしたらデスクトップショートカットもODBCも登録できない。
記事No12260
投稿日: 2008/05/13(Tue) 16:18
投稿者げんさん
社内配布用に簡易的なインストールPGMを作成して使っていますが、Win98やWinXPでは
問題なく作動しますが、WinVistaのPCで動かすと登録できません。

ODBCはSQLConfigDataSourceを使用し、デスクトップへのショートカット登録は
SetShellLinkStatusを使用しています。

PC使用者に権限を変更して・・・などがいえるレベルで無いので、PGMで対応したいのですが
うまく行きません。

やはり無理なのでしょうか?

[ツリー表示へ]
タイトルRe: VistaにしたらデスクトップショートカットもODBCも登録できない。
記事No12269
投稿日: 2008/05/13(Tue) 21:39
投稿者魔界の仮面弁士
> インストールPGMを作成して使っていますが
それは、どのような言語で作られた物でしょうか?

VB アプリのインストーラを、VB のみで作ってあるのだとしたら、
何か本末転倒っぽいですし、他言語で作成してあるのだとしたら、
この掲示板の主旨から外れてしまうように思えます。

> SQLConfigDataSourceを使用し
ODBC API ですね。

> SetShellLinkStatus
そのような API は聞いた事がありませんが…自作関数か何かですか?

> 社内配布用に簡易的なインストールPGMを作成して使っていますが、Win98やWinXPでは
> 問題なく作動しますが、WinVistaのPCで動かすと登録できません。
その自作インストーラのファイル名は、何という名前にしてありますか?
(SETUP とか INSTALL とか、そういった文字列を含んだファイル名にしていますか?)

[ツリー表示へ]
タイトルRe^2: VistaにしたらデスクトップショートカットもODBCも登録できない。
記事No12280
投稿日: 2008/05/14(Wed) 14:40
投稿者げんさん
> VB アプリのインストーラを、VB のみで作ってあるのだとしたら、
> 何か本末転倒っぽいですし
VBのみで作成しています。
説明不足で申し訳ありません。インストーラーといっても元々社内で作成したツールを
配布するためのもので、圧縮ファイルを解凍し所定の場所にコピーするだけのものから
スタートしました。
ディストリビューションウィザードを利用するほどのこともないし(レジストリを
触りたくなかった)、そのコピー時に退避ファイルの選別や、ODBC設定の自動化を
して欲しいとの要望があり、作成し重宝されていました。

> > SQLConfigDataSourceを使用し
> ODBC API ですね。

はいそうです。

> > SetShellLinkStatus
> そのような API は聞いた事がありませんが…自作関数か何かですか?
すいません。先任者から継承したものでもしかしたらフリーソフトかも??


> その自作インストーラのファイル名は、何という名前にしてありますか?
> (SETUP とか INSTALL とか、そういった文字列を含んだファイル名にしていますか?)
これはどういうためのご質問でしょうか?
名前はsetuper.exeとしており、添付ファイルに処理内容を列挙する形式です。
ex)XXXというACCESS用のODBC登録・・・と言った内容をファイルに記号化して、
PGMに添付し、必要な圧縮ファイルと共に配布します。

[ツリー表示へ]
タイトルRe^3: VistaにしたらデスクトップショートカットもODBCも登録できない。
記事No12281
投稿日: 2008/05/14(Wed) 19:07
投稿者魔界の仮面弁士
> > > SetShellLinkStatus
> > そのような API は聞いた事がありませんが…自作関数か何かですか?
> すいません。先任者から継承したものでもしかしたらフリーソフトかも??
けるべさんのヤツかな?
http://www.geocities.co.jp/SilkRoad/4511/vb/shlink.htm

> > その自作インストーラのファイル名は、何という名前にしてありますか?
> > (SETUP とか INSTALL とか、そういった文字列を含んだファイル名にしていますか?)
> これはどういうためのご質問でしょうか?
要するに、管理者モードで実行させていますか、という意味です。
(アプリ起動時に、管理者特権への昇格ダイアログが表示される状態になっているか否か)

[ツリー表示へ]
タイトルRe^4: VistaにしたらデスクトップショートカットもODBCも登録できない。
記事No12286
投稿日: 2008/05/15(Thu) 11:22
投稿者げんさん
> けるべさんのヤツかな?
> http://www.geocities.co.jp/SilkRoad/4511/vb/shlink.htm
おおっ!!
わざわざ調べていただいたのですね。
多分そうだと(きっとそうです)思います。

> (アプリ起動時に、管理者特権への昇格ダイアログが表示される状態になっているか否か)
意味が分かりました。セットアップの自動判定のことですね。これはあくまで互換機能と思っていたので失念しておりました。

その後、当方も色々試行錯誤してだいぶ分かってきました。
というか、ここに書かせていただいたことがだいぶピントズレだったようです。
すいませんでした。

お詫びといってはなんですが分かった情報を書かせていただきます。

ODBCの登録についてはSQLConfigDataSourceを使用しますが、VISTAとXPではライブラリに互換性がありませんでした。(98とXPは上位互換です)
そのため、PGM内でOSを判断し(正確な判断方法は調べる時間が無く、環境設定で”ALLUSERSPROFILE”のキーワードがあるかとその設定値内に”Documents”という単語があるかでチェックしています)、ODBCライブラリを使用する前にXP・VISTAの各ODBC*.DLLを入れたフォルダに移りSQLConfigDataSourceを呼び出したところうまく出来ました。

けるべさんのshlinkはショートカットの書き出し先設定があることに気付かず、XP設定のまま使用していたためのエラーです。(エラーではなくチョンボですね)
ちなみにVista用はEnviron$("HOMEDRIVE") & "\Users\Public\Desktop"にしています。

魔界の仮面弁士様にはご丁寧に対応いただきありがとうございました。

[ツリー表示へ]