dポイントプレゼントキャンペーン実施中!

VB6にて、ほかのプログラムのインストーラーをいくつか起動させるのですが、そのインストーラがインストール後に再起動を必要とするものがあり、その際起動後した後にそのまま処理を続行させたいのですが何かよい方法はありませんでしょうか

A 回答 (2件)

再起動前に以下のレジストリに値を追加して処理をするのはどうでしょうか?


「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce」
に値を文字列として定義。

例えば、
名前を「NextProg」
データを「C:\TEST\NextSetup.exe」
として再起動すると、再起動後にC:\TEST\NextSetup.exeが実行されます。
実行終了後は、自分で削除しなくてもWindowsが勝手に値を削除してくれます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速試してみたいと思います!

データがファイルのフルパスなのはわかるのですが、名前の「NextProg」は何か意味合いがあるのでしょうか?それとも任意に決めてしまってかまわないのでしょうか?

あと、確認なのですが、実行後に値が削除されるということは、上記方法で再起動して実行した後、また同じことをしたい場合は、同じようにレジストリに書き込めばOKでしょうか?(表現がわかりにくいでしょうか・・・)クライアントの環境しだいではexe起動⇒再起動⇒実行⇒再起動⇒実行⇒終了という感じで複数回の再起動がかかってくることが考えられるので

お礼日時:2006/08/24 18:41

回答が遅くなってすみません。



名前の「NextProg」は、意味はありません。
任意でOKです。(プログラム実行時に、自分がわかる名前で問題ありません)

また、再起動後、また同じことをしたい場合は、
再度レジストリに書く必要があります。

自分が以前やった方法は
1. VBScript(1)起動
2. VBScript(1)からBATファイル(1)起動
3. BATファイル(1)終了後、VBScript(1)にてレジストリに書き込み(VBScript(2)を書く)
4. VBScript(1)からWindows再起動
5. Windows再起動後、VBScript(2)が実行される
6. VBScript(2)からBATファイル(2)起動

というようにしていました。
(ちょっとわかりずらいですが)
    • good
    • 0
この回答へのお礼

いえいえ、わかりやすい解説大変感謝です。
早速やってみますね~

お礼日時:2006/08/28 19:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!