コントロールパネル中の「プログラムの追加と削除」セクションにエントリーを追加する為に、 あなたのプロダクトの名前で HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall の下にキーを作ります。
Windows NT (NT4/2000/XP)では、キーを HKCU ハイブ中に作る事もまた可能であるので、 それは現在のユーザーの為だけに現れます。
あなたのアプリケーションとアンインストーラーについての追加情報を与える為に キーに書く事が できる値がいくつかあります。
(文字列用の)WriteRegStr コマンドか(DWORD値用の)WriteRegDWORD コマンドを使って 値を書きます。
例:WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Product" \ "DisplayName" "Application Name"
この例を考えて見ましょう。あなたの会社が 'Great Northern Software Co' と言い、その最新 スーパーソフトウェア 'Image Maker' を配置しています。あなたのやりたい事は、HKLM の Software\Microsoft\Windows\CurrentVersion\Uninstall セクション中に新しいキーを作る事です。 キーはソフトウェアの名前であり、サブキー2つ、ソフトウェアのDisplayNameを持つものと もう 1つはアンインストールプログラムの場所、を持っています。
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" \ "DisplayName" "Image Maker -- super software from Great Northern" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" \ "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
ひとたび これらが実行されると、コントロールパネルの プログラムの追加と削除 セクションに DisplayName が現れるのを見るでしょう。
指摘する事が2つ。まず第一に、バックスラッシュを使わなければならない。私はたくさんの Java/Unix の仕事をやっているので、これをクリアにする必要があります。第2に、キーを削除する コマンドをアンインストーラ セクションに追加すべきであり、それでアンインストーラが完了する 時にリストから名前が削除されます。もしこれをやらないと、あなたのソフトウェア名がまだそこに 存在して Windows はこれを問題と見ます(例えば、エントリーが不正であると言う)。
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" \ "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
サポートされているオペレーティング システム: Windows XP、しかし、古いバージョンの Windows にも これらのエントリーを追加する事が完全に許されていて、追加情報は表示されないだけである事に 注意して下さい。
もし NoModify と NoRepair の両方が 1 にセットされると、ボタンは「変更/削除」の代わりに 「削除」を表示します。
サポートされているオペレーティング システム: Windows XP Service Pack 2.