openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #12643
[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