アプリのインストール先のフルパス取得


やっとVB  2005-01-26 21:43:06  No: 119185

インストールしたアプリ(例: ABC.exe)がどこにあるのかフルパスで探したいのですがやりかたがわかりません。  お助けください。


INA  2005-01-26 22:08:11  No: 119186

App.path でしょうか?


やっとVB  2005-01-26 22:58:34  No: 119187

説明不足ですみません。
パッチ当てのソフトを作るのが目的です。  使用者がどこか任意の場所にインストールしたフルパスを探して自動的にexeを書き換えてしまおうという計画です。  ソフト名(exe)を指定するとインストール先のフルパスがわかるようにしたいと思いました。  よろしくお願いします。


INA  2005-01-27 00:11:43  No: 119188

それはインストールしたソフト次第ではないでしょうか?

インストールされているのか、exeが置いてあるだけなのか判断することの
できる情報は何かあるのでしょうか?  レジストリ?

そのソフトは何でしょう?


やっとVB  2005-01-27 03:21:02  No: 119189

ソフトは自分で作ったものを不特定のユーザーが「setup.exe」を使ってインストールしてあります。  だからレジストリから判断できるものと思いましたがその方法がわからないので質問しました。  よろしくお願いします。


ひろ  2005-01-27 03:27:40  No: 119190

パッチを当てる対象のソフトの作者か、パッチの作者に聞いて下さい。
それが一番確実です。


ひろ  2005-01-27 03:28:51  No: 119191

すいません。返信が交錯しました。
ディストリビューションウィザードで作ったsetup.exeでインストールしたと考えて良いのでしょうか?


030  2005-01-27 03:34:49  No: 119192

セットアップウィザードを使って作成したSetup.exeによりインストールしたVBのアプリケーションの
実行ファイル名をレジストリエディタで検索したら下記のレジストリにパスらしきものがありました。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ST[n]UNST #[m]
(n,mは整数)
たとえば「ST1UNST #1」とかになっていました。

詳細は自分で確かめてください。


ひろ  2005-01-27 03:56:17  No: 119193

VB6のディストリビューションウィザードで作成したインストーラという仮定で
書いておきます。

VB6のディストリビューションウィザードで作成したインストーラのアンインストール情報は

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

の下にある  "ST6UNST" で始まるキー名("ST6UNST #1"等)のレジストリキーの物が該当します。

その中で、DisplayName(これはアプリケーションの追加と削除の画面に出る名前と同じ)が自分の作ったアプリケーションの物であるか確認します。

#  DisplayNameは同じソフトを複数個インストールした場合には、自動的に
# "(" & インストール先のフォルダ名 & ")" が追加されるので注意して下さい

次に、UninstallString キーの値を持ってきて、"st6unst.exe -n "の後に書いてあるのが、アンインストール情報ファイルのパスです。

アプリケーションのアンインストール情報が手に入りましたから、次は、このファイルを読み込んでパッチ当ての対象ファイルの場所を探して下さい。

(インストーラの構成によっては、アンインストール情報ファイルとインストールした実行ファイルが必ず同じになる事もありますので、その様な構成なら、アンインストール情報ファイルのパスをそのままソフトの入っているパスと見なしても良いかもしれません)


シャノン  2005-01-27 04:26:22  No: 119194

パッチを当てる対象のソフトも自作したものなら、ディストリビューションウィザードをカスタマイズして、インストール時にレジストリにパスを書き込むようにするか、あるいは初回起動時にレジストリにパスを保存しておくのが楽でいいのではないでしょうか。
アンインストール情報から取得しようとすると、Win32 API を使わなければなりませんから。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加