社内配布用に簡易的なインストールPGMを作成して使っていますが、Win98やWinXPでは問題なく作動しますが、WinVistaのPCで動かすと登録できません。ODBCはSQLConfigDataSourceを使用し、デスクトップへのショートカット登録はSetShellLinkStatusを使用しています。PC使用者に権限を変更して・・・などがいえるレベルで無いので、PGMで対応したいのですがうまく行きません。やはり無理なのでしょうか?
> インストールPGMを作成して使っていますがそれは、どのような言語で作られた物でしょうか?VB アプリのインストーラを、VB のみで作ってあるのだとしたら、何か本末転倒っぽいですし、他言語で作成してあるのだとしたら、この掲示板の主旨から外れてしまうように思えます。> SQLConfigDataSourceを使用しODBC API ですね。> SetShellLinkStatusそのような API は聞いた事がありませんが…自作関数か何かですか?> 社内配布用に簡易的なインストールPGMを作成して使っていますが、Win98やWinXPでは> 問題なく作動しますが、WinVistaのPCで動かすと登録できません。その自作インストーラのファイル名は、何という名前にしてありますか?(SETUP とか INSTALL とか、そういった文字列を含んだファイル名にしていますか?)
> VB アプリのインストーラを、VB のみで作ってあるのだとしたら、> 何か本末転倒っぽいですしVBのみで作成しています。説明不足で申し訳ありません。インストーラーといっても元々社内で作成したツールを配布するためのもので、圧縮ファイルを解凍し所定の場所にコピーするだけのものからスタートしました。ディストリビューションウィザードを利用するほどのこともないし(レジストリを触りたくなかった)、そのコピー時に退避ファイルの選別や、ODBC設定の自動化をして欲しいとの要望があり、作成し重宝されていました。> > SQLConfigDataSourceを使用し> ODBC API ですね。はいそうです。> > SetShellLinkStatus> そのような API は聞いた事がありませんが…自作関数か何かですか?すいません。先任者から継承したものでもしかしたらフリーソフトかも??> その自作インストーラのファイル名は、何という名前にしてありますか?> (SETUP とか INSTALL とか、そういった文字列を含んだファイル名にしていますか?)これはどういうためのご質問でしょうか?名前はsetuper.exeとしており、添付ファイルに処理内容を列挙する形式です。ex)XXXというACCESS用のODBC登録・・・と言った内容をファイルに記号化して、PGMに添付し、必要な圧縮ファイルと共に配布します。
> > > SetShellLinkStatus> > そのような API は聞いた事がありませんが…自作関数か何かですか?> すいません。先任者から継承したものでもしかしたらフリーソフトかも??けるべさんのヤツかな?http://www.geocities.co.jp/SilkRoad/4511/vb/shlink.htm> > その自作インストーラのファイル名は、何という名前にしてありますか?> > (SETUP とか INSTALL とか、そういった文字列を含んだファイル名にしていますか?)> これはどういうためのご質問でしょうか?要するに、管理者モードで実行させていますか、という意味です。(アプリ起動時に、管理者特権への昇格ダイアログが表示される状態になっているか否か)
> けるべさんのヤツかな?> 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"にしています。魔界の仮面弁士様にはご丁寧に対応いただきありがとうございました。