← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~smpettit/openlp/bug-884044 into lp:openlp

 

Stevan Pettit has proposed merging lp:~smpettit/openlp/bug-884044 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #884044 in OpenLP: "Uninstall incomplete"
  https://bugs.launchpad.net/openlp/+bug/884044

For more details, see:
https://code.launchpad.net/~smpettit/openlp/bug-884044/+merge/80838

Added code to inno setup script to:

1. Remove the "support" directory that is created when OpenLP is executed.
2. Unload psvince.dll after it is used during uninstall.  This allows the uninstaller to delete this dll.
3. Remove the "app" directory if it is empty.  The app dir is being left behind during uninstall as a result of previous installs/un-installs.
-- 
https://code.launchpad.net/~smpettit/openlp/bug-884044/+merge/80838
Your team OpenLP Core is requested to review the proposed merge of lp:~smpettit/openlp/bug-884044 into lp:openlp.
=== modified file 'resources/windows/OpenLP-2.0.iss'
--- resources/windows/OpenLP-2.0.iss	2011-10-10 21:49:43 +0000
+++ resources/windows/OpenLP-2.0.iss	2011-10-31 20:03:27 +0000
@@ -67,7 +67,7 @@
 Source: ..\..\dist\OpenLP\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
 ; DLL used to check if the target program is running at install time
 Source: psvince.dll; flags: dontcopy
-; psvince is installed in {app} folder, so it will be loaded at 
+; psvince is installed in {app} folder, so it will be loaded at
 ; uninstall time to check if the target program is running
 Source: psvince.dll; DestDir: {app}
 
@@ -84,10 +84,16 @@
 Filename: {app}\{#AppExeName}; Description: {cm:LaunchProgram,{#AppName}}; Flags: nowait postinstall skipifsilent
 
 [Registry]
-Root: HKCR; Subkey: ".osz"; ValueType: string; ValueName: ""; ValueData: "OpenLP"; Flags: uninsdeletevalue
-Root: HKCR; Subkey: "OpenLP"; ValueType: string; ValueName: ""; ValueData: "OpenLP Service"; Flags: uninsdeletekey
-Root: HKCR; Subkey: "OpenLP\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\OpenLP.exe,0"
-Root: HKCR; Subkey: "OpenLP\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\OpenLP.exe"" ""%1"""
+Root: HKCR; Subkey: .osz; ValueType: string; ValueName: ; ValueData: OpenLP; Flags: uninsdeletevalue
+Root: HKCR; Subkey: OpenLP; ValueType: string; ValueName: ; ValueData: OpenLP Service; Flags: uninsdeletekey
+Root: HKCR; Subkey: OpenLP\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\OpenLP.exe,0
+Root: HKCR; Subkey: OpenLP\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\OpenLP.exe"" ""%1"""
+
+[UninstallDelete]
+; Remove support directory created when program is run:
+Type: filesandordirs; Name: {app}\support
+; Remove program directory if empty:
+Name: {app}; Type: dirifempty
 
 [Code]
 // Function to call psvince.dll at install time
@@ -173,4 +179,6 @@
 	  Result := false;
 	end;
   end;
-end;
\ No newline at end of file
+// Unload psvince.dll, otherwise it is not deleted
+  UnloadDLL(ExpandConstant('{app}\psvince.dll'));
+end;


Follow ups