Question:
How do I get my program listed in the control panels
"Add/Remove programs" applet?
Answer:
You can use Install Shield Express that ships with Delphi and
C++ Builder, or you can add this in code using the TRegistry object to
add a new key to the registry under the key:
HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
The key that you add should be unique, and should reflect the name of
your program: "My Program Name".
Under your new key, you will need to add two items: The name to
display for your program in the control panel applet list, and the
command line to your uninstall program:
Example:
uses Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
 reg: TRegistry;
begin
 reg := TRegistry.Create;
 reg.RootKey := HKEY_LOCAL_MACHINE;
 reg.LazyWrite := false;
 reg.OpenKey(
 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyProgam',
 true);
 reg.WriteString('DisplayName', 'My Program');
 reg.WriteString('UninstallString',
 'C:\Program Files\Borland\Delphi 3\MyUninstall.exe UninstalMe');
 reg.CloseKey;
 reg.free;
end;
In addition to uninstalling you application, your uninstall program
should delete the registry keys you added in the previous example.
Example:
uses Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
 reg: TRegistry;
begin
 reg := TRegistry.Create;
 reg.RootKey := HKEY_LOCAL_MACHINE;
 reg.LazyWrite := false;
 reg.DeleteKey(
'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyProgam');
 reg.free;
end;