Thursday, May 5, 2011

How can I perform a command line uninstall of Firebird?

I've used the command-line switches for installing a Firebird database from within the install package for my application. But now I'd like to uninstall Firebird in the same way.

The problem is that the Windows install executable for Firebird was built with Inno Setup. In order to uninstall an Inno Setup executable, you have to run a file named uninst???.exe in the Firebird install directory, where ??? is some three-digit number.

Details:

  • I'm using InstallAware as my installation builder. It provides a scripting language somewhat similar to that of InstallShield.
  • I'm installing the SuperServer version of Firebird, not the embedded version. (I need concurrent user access for this application.)
From stackoverflow
  • HKLM\Software\Microsoft\Windows\Currentversion\Uninstall\ with example like {350C97B0-3D7C-4EE8-BAA9-00BCB3D54227} Under that you will find a key named "UninstallString" you should be able to just execute that and uninstall.

    Some programs are listed by name and not GUID as well so double check

  • there is a key in registry called DefaultInstace

    in Delphi code

    function TfrmMain.FBDefaultInstance: String;
    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_LOCAL_MACHINE;
        Reg.OpenKeyReadOnly('SOFTWARE\Firebird Project\Firebird Server\Instances');
        Result := Reg.ReadString('DefaultInstance');
        Reg.CloseKey;
      finally
        Reg.Free;
      end;
    end;
    

    After you have just to stop the service and launch uninstall

    DefaultPath + 'unins000.exe /SILENT /NORESTART /SUPPRESSMSGBOXES'

0 comments:

Post a Comment