■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#1352-1マシン内のファイルの検索matsu2002-07-03(水) 03:54
     #1353-1RE#1352:マシン内のファイルの検索せつら2002-07-03(水) 04:35
     #1355-2RE#1353:マシン内のファイルの検索matsu2002-07-03(水) 04:54
     #1357-2RE#1355:マシン内のファイルの検索せつら2002-07-03(水) 04:58
     #1361-2RE#1357:マシン内のファイルの検索matsu2002-07-03(水) 05:21
     #1362-2RE#1361:マシン内のファイルの検索せつら2002-07-03(水) 05:42
     #1367-2RE#1362:マシン内のファイルの検索KERNEL2002-07-03(水) 08:22
#1352-1
マシン内のファイルの検索
インストールをする前に、プログラムがすでにインストール済か
調べるよい方法があったら教えていただけないでしょうか?
インストール場所のパスを取得したいのですが。。。
素人考えで、EXEファイルの検索をしたらよいのかと思い
苦戦しています。よろしくお願い致します。
#1353-1
RE#1352:マシン内のファイルの検索
EXE またはフォルダ検索の場合、同じアプリをフォルダ位置を変えてインストールされると、ちょっと
面倒です。 ディスク内の全部のフォルダを探しても良いですが、200Gくらいの容量だったりする
と、うんざりですね。

アプリの作り方次第ですが、もしレジストリを利用して設定値の保存を行っているならば、レジストリ
エントリが存在するかを調べてみてはいかがでしょうか。

しかし、普通のアプリなら、重複インストールチェックなんてしませんけどね。2回インストールした
としても、余分なファイルができるだけで、アプリが動かないわけではないですから。
#1355-2
RE#1353:マシン内のファイルの検索
早速ご返答いただきありがとう御座います。
ご指摘のようにまさにインストール前に前回の
データを退避したいといった状況なのですが、
レジストリのエントリをしらべるには、API
しかないですよね。その辺の解説などしている
ページ等ご存知でしたら教えていただけないでしょうか。
#1357-2
RE#1355:マシン内のファイルの検索
レジストリは、どのように書いたり読んだりするつもりでしょうか。 普通は、VB 標準命令の
GetSetting 関数と SaveSetting 命令を使います。 ものすごく簡単なので、ヘルプで調べて
みてください。
#1361-2
RE#1357:マシン内のファイルの検索
ご返信ありがとう御座います。
レジストリにどのように登録されているのかよく分からないのですが、
インストールした際のExeファイルのパス、またはディレクトリパス
を知りたいのですが、そのようなことも登録されているのでしょうか
ヘルプでみる限りキーが必要とのことですが、レジストリの知識が
ないとだめなのでしょうか?
#1362-2
RE#1361:マシン内のファイルの検索
インストールによるレジストリ登録の事は、考えなくて良いですよ。 それを気にするのは、自力で
API が調べられるようになってからで十分です。 インストール/アンインストールの仕組みは、
とっても難しいですから。(多分、一生知らなくても問題はない情報…) まぁ、有るか無いかだけ
なら、比較的簡単ですけど、API か WSH を使えないといけません。

そうではなくて、アプリの中で、例えばフォームの位置を終了時に保存し、起動時にそれを読み込む
ような仕組みを作ったとします。1度でもアプリが実行されていれば、そこには座標情報が存在する
のですが、1度も実行していない(インストールされていない)ならば、そのレジストリエントリが
ありませんよね。 そこを調べましょう。 自分で書いた情報は、自分で読めますよね。

無理して、インストーラが書いた情報を追う必要は無いでしょう?、という事です。
#1367-2
RE#1362:マシン内のファイルの検索
API が使えるのであれば、すでにインストールされている
ファイルの場所や、これからインストールすべき推奨パスを取得できる
VerFindFile 関数や、VerFindFile 関数の結果に基づいてファイルを
インストールする VerInstallFile という関数もあります。

かなりマイナーな関数で、使われているのかどうかは正直疑わしいのですが……
ま、参考程度に。

せつらさんの方法のほうがいいと思いますけどね。
このページと関連する記事:
#39786-0シェアウェアについて2001-03-04(日) 01:55
#23776-0解析されないための策2001-10-16(火) 19:40
#350-2続けてもう一つお願いします(><2003-05-16(金) 11:51
#8994-0dllファイルなどについて2000-06-22(木) 16:51
#12656-0パスの取得法2000-11-09(木) 08:57
#9376-0EXEのショートカットで2000-04-06(木) 03:51
#5849-1ファイルの検索1999-09-24(金) 17:18
#9160-0配布用ディスクのEXEの上書き2000-03-31(金) 09:39
#13078-0Msvbvm60.dllのインストール!?2000-01-13(木) 11:53
#26287-0Rnd関数について質問です2000-07-22(土) 17:01
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)