SSブログ

アンインストーラ作成日記 後編 - 再起動時にファイルを削除 [プログラミング]

アンインストーラを作成していて、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も一緒になってるからなんですけど。

[新幹線] 今日の一冊
アウシュヴィッツと「アウシュヴィッツの嘘」

アウシュヴィッツと「アウシュヴィッツの嘘」

  • 作者: ティル バスティアン
  • 出版社/メーカー: 白水社
  • 発売日: 1995/11
  • メディア: 単行本

タグ:VisualC++
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。