はじめまして、VC初心者の労働者です。
ファイルを削除するプログラムを作成しています。
一応、アンインストーラとして使用する予定なのですが、このアンインストーラ自身を
削除することが可能なのか?、またそれを行うには如何なる方法があるか
教えて欲しいのです。
分かるかたが居られましたら宜しくお願いします。
アンインストーラでなくても、アプリケーションの追加と削除に登録されて削除が可能って
方法でも結構です。アンインストールについて知識/情報をお持ちの方、宜しくお願い
します。
自己レスです。
レジストリの
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
に任意の項目を追加することでアプリケーションの追加と削除に登録できる様です。
RegCreateKeyを使用してキーを作成して、更にサブキーを指定します。
DisplayName:リストに表示するAP名(文字列)
UninstallString:アンインストーラをフルパスで指定
これでアプリケーションの追加と削除からアンインストーラを起動できるようです。
まだアンインストーラ自身の削除方法は不明です。
ご存知の方がいましたら宜しくお願いします。
またまた自己レスです。
Windowsディレクトリ直下にWININIT.INIというファイルを作成し、
ここに削除したいファイルのフルパスを記述しておけば、OSの再起動時に
自動的に削除されるようです。WININIT.INIも自動的に削除されます。
試したところ、どうやらロングファイルネームには対応していない様でした。
[Rename]
NUL=削除したいファイルAのフルパス
NUL=削除したいファイルBのフルパス
上記のような記述式で対応できる様です。
但し、キーが「NUL」でないといけない様なので複数のファイルを指定する場合や
自分以外のアプリが既にWININIT.INIを使用している場合も考えると、
WritePrivateProfileString関数を使用するには向いていない様です。
…自分で解決させてしまった。