HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0607
CAMEインストーラー・アンイストーラを作成4解決


CAME

リンク

2007/6/7(Thu) 09:11:05|NO.8823

 こんにちは。インストーラーとアンインストーラーを作りたいと思っているのですが、
アンインストーラーで問題が。
 インストールは、ファイルをprogram filesの指定フォルダにコピーして、スタートメニュー>
プログラムや指定された場所にショートカットを作成する、という考えです。「アプリケーション
の追加と削除」に影響は与えない方向で。
 で、アンインストールなんですが、インストール時にアンインストーラーもフォルダにコピー
してショートカットを作って、と思っています。
 どこにインストールしたか、は自分のパスを取得すれば大丈夫で、どこにショートカットを
作ったか、はインストール時にそれを記録しておけばよし。
 で、ショートカットを削除して、他の実行ファイルもこまごまとした物も削除して、
 残るは、アンインストーラーと、それが入ったディレクトリ。

 …この二つを削除する方法はないものでしょうか。自分自身の削除を、普通の方法でやろうと
すると、当然エラーがでてしまいます。



この記事に返信する


Mizki_F

リンク

2007/6/7(Thu) 11:48:24|NO.8824

こんにちは。
自分自身を削除する方法ですが、以下のようなバッチファイルを作成して
execで実行直後に終了させれば消すことができます。


@echo off :TRY DEL "exeName" IF EXIST "exeName" GOTO TRY DEL "batchName"
※exeNameは実行ファイル、batchNameはバッチファイル名です。



CAME

リンク

2007/6/8(Fri) 09:59:21|NO.8831

Mizki_Fさん>

 おおお、できました!すごい!!ありがとうございます!
 ところで、インストールされてるフォルダも削除しようと、バッチファイルを少し書き換え
て実行してみたんですが、なぜかうまくいきません……なにが悪いのか、ご存知でしょうか?

 "unst-test"というフォルダに、"uninstall.exe"と"uninstall.dat"を入れました。

@echo off
:TRY DEL "uninstall.exe" IF EXIST "uninstall.exe" GOTO TRY DEL "uninstall.bat" IF EXIST "uninstall.bat" GOTO TRY CD ../ DEL "unst-test" IF EXIST "unst-test" GOTO TRY

 7行目の「CD ../」を入れても入れなくても上手くいかず。検索してにわか勉強で、
「CD ../」で一つ上のフォルダにいけると聞いたんですが…。



CAME

リンク

2007/6/8(Fri) 10:15:37|NO.8832

DEL "unst-test"
RD "unst-test"
にしてもうまくいきません。
 …  というか、もしかしたら、上の例では、まずバッチファイルを削除してるんだから、 その後にフォルダ削除しようとしてもダメだということ…?  と思い、念のために
@echo off
:TRY
DEL "uninstall.exe"
IF EXIST "uninstall.exe" GOTO TRY
CD ../
RD "unst-test"
IF EXIST "unst-test" GOTO TRY
CD "unst-test"
DEL "uninstall.bat"
IF EXIST "uninstall.bat" GOTO TRY
 もやってみましたが、フォルダが削除されては、中にあるバッチファイルも実行できないわな…
ということで、やっぱり無理でした。
 これはもう、自分が入っているフォルダを削除するのは諦めたほうが良いということでしょうか…。



CAME

リンク

2007/6/8(Fri) 10:56:57|NO.8833

 何回も追記すみません。
 フォルダ削除は、フォルダの中身が空でないとできないんですね。
 結局、インストールフォルダの上に、"uninstall.bat"を作成し、インストールフォルダの
中にあるアンインストーラーを実行したら、HSPでそのフォルダの中身を全部消して、
上のフォルダのバッチファイルに動作を移してインストールフォルダとバッチファイルを
削除、ということにしました。
 本当に助かりました!!ありがとうございました!



ONION software Copyright 1997-2021(c) All rights reserved.