説明するとかなり長くなりそうなので、作ってみました。
わからない命令や処理があったら、付属のヘルプで調べてください。
#include "kernel32.as" //終了確認用
//終了確認
//"happy_temp.exe"から"happy.exe"を削除する、
//もしくは"happy.exe"から"happy_temp"を削除する場合、
//削除したい実行ファイルが終了していることを確認する必要がある。
//参考:http://lhsp.s206.xrea.com/hsp_system.html の"実行ファイルの二重起動防止"
CreateMutex 0, 0, "happy"
repeat
GetLastError
if stat!=183 : break //statが183の場合、
wait 100
loop
if dir_cmdline="vup_start" {
bcopy "happy_temp.exe","happy.exe"
exec "happy.exe vup_end"
end
}
if dir_cmdline="vup_end" {
delete "happy_temp.exe"
}
netinit
neturl "http://www.hoge.com/" //happy.exeをアップロードしている場所に置き換えてください
//最新のバージョンを取得
netdlname "ver.txt"
netload "ver.txt" //ダウンロード
notesel a
noteload "ver.txt"
noteget ver0,0
noteunsel : a=""
if int(ver0)>ver {
//ダウンロードの必要があるので、最新のhappy.exeをhappy_temp.exeとしてダウンロード
dialog "最新バージョンが公開されています。アップデートしますか?",2
if stat=6 {
netdlname "happy_temp.exe"
netload "happy.exe"
exec "happy_temp.exe vup_start"
end
}
}
//以下、処理を続ける
・バージョンアップごとに、冒頭の定数verの数値を変更することをお忘れなく。
・実行するには、hspをインストールしたフォルダにあるhspinet.dllを、
実行ファイルのあるフォルダにコピーする必要があります。
このような処理を冒頭に置いた上でhappy.exeを作成し、インターネット上の
ダウンロード可能な場所にアップロードするのですが、その際、
最新のバージョンナンバーを記したテキストファイル・"ver.txt"を作成し、
実行ファイルと同じ場所にアップロードしておきます。
たとえば、最新バージョンが1.01の場合、ver.txtは
101
と書いておきます。
……と、こういった方法でやってみましたが、この方法だとウイルス対策ソフトが
「不審なファイルをダウンロードした」という警告を出してくる場合があります。
(うちのウイルスバスターは出してきました)
exeをそのままダウンロードするのではなく、zipファイルをダウンロードして解凍する
といった工夫が必要になるかもしれませんが、ちょっとややこしい処理が必要になるようなので、
以下のURLを参考にしてみるといいかもしれません。
http://lhsp.s206.xrea.com/hsp_file.html