アンインストーラ作成日記 後編 - 再起動時にファイルを削除 [プログラミング]
アンインストーラを作成していて、1つの問題にぶち当たりました。
『アンインストーラそれ自身をどうやって削除するか』
普通に自分自身を削除しようとすると、
「使用中なので削除できません」
となります。
そこで、OS(Windows)が再起動した時に、ファイルを消してくれるように予約します。
NT系OSと9x系OSで方法が違います。
NT系OSの場合:
::MoveFileEx(削除するファイルのパス, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
9x系OSの場合:
C:\Windows\WinInit.ini(テキストファイル)に、次の記述を追加する。 [Rename] Nul=削除するファイルのパス(ショートファイル名形式) (ショートファイル名はGetShortPathName APIで取得)
そんなわけで、アンインストーラは無事完成しました。
が、その直後、またしても客からこんな要望が………
「インストーラを使うのが鬱陶しいと言う人が居るから、インストーラ無しでもインストールできる様にして」
(だから、元々から、ファイルを適当なディレクトリにコピーするだけだってばさ)
そして半年後。
「ファイルが一杯あるけど、これ、exeファイル1つにならんかね。それなら、インストールもアンインストールも簡単だし」
あの~、「exeファイル1つ」って、これjavaで動いているんですけど。
ファイルが一杯あるのは、JavaのVMも一緒になってるからなんですけど。
今日の一冊 | |
|
タグ:VisualC++
2006-09-09 07:46
nice!(0)
コメント(0)
トラックバック(0)
コメント 0