From 227f7a2ec92d7d599bdf6fe5046455b96f90151f Mon Sep 17 00:00:00 2001 From: RKrom Date: Sat, 31 Jul 2010 16:00:34 +0000 Subject: [PATCH] Improvements for the installer git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@758 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4 --- Greenshot/releases/innosetup/setup.iss | 99 ++++++++++++++++---------- 1 file changed, 60 insertions(+), 39 deletions(-) diff --git a/Greenshot/releases/innosetup/setup.iss b/Greenshot/releases/innosetup/setup.iss index 93ae61813..abe135fa2 100644 --- a/Greenshot/releases/innosetup/setup.iss +++ b/Greenshot/releases/innosetup/setup.iss @@ -1,3 +1,6 @@ +#define ExeName "Greenshot" +#define Version "0.9.0.$WCREV$" +#define Mutex "F48E86D3-E34C-4DB7-8F8F-9A0EA55F0D08" [Files] Source: ..\..\bin\Release\*; DestDir: {app}; Flags: overwritereadonly ignoreversion replacesameversion Source: ..\..\bin\Release\Languages\*; DestDir: {app}\Languages; Flags: overwritereadonly ignoreversion replacesameversion @@ -6,36 +9,46 @@ Source: ..\additional_files\*; DestDir: {app}; Flags: overwritereadonly recurses ;Source: ..\..\bin\Release\Plugins\GreenshotFlickrPlugin\*; DestDir: {app}\Plugins\GreenshotFlickrPlugin; Components: plugins\flickr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; ;Source: ..\..\bin\Release\Languages\Plugins\GreenshotFlickrPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotFlickrPlugin; Components: plugins\flickr; Flags: overwritereadonly ignoreversion replacesameversion; ;OCR Plugin -;Source: ..\..\bin\Release\Plugins\Greenshot-OCR-Plugin\*; DestDir: {app}\Plugins\Greenshot-OCR-Plugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -;Source: ..\..\bin\Release\Languages\Plugins\Greenshot-OCR-Plugin\*; DestDir: {app}\Languages\Plugins\Greenshot-OCR-Plugin; Components: plugins\ocr; Flags: overwritereadonly ignoreversion replacesameversion; +Source: ..\..\bin\Release\Plugins\Greenshot-OCR-Plugin\*; DestDir: {app}\Plugins\Greenshot-OCR-Plugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: ..\..\bin\Release\Languages\Plugins\Greenshot-OCR-Plugin\*; DestDir: {app}\Languages\Plugins\Greenshot-OCR-Plugin; Components: plugins\ocr; Flags: overwritereadonly ignoreversion replacesameversion; ;JIRA Plugin ;Source: ..\..\bin\Release\Plugins\GreenshotJiraPlugin\*; DestDir: {app}\Plugins\GreenshotJiraPlugin; Components: plugins\jira; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; ;Source: ..\..\bin\Release\Languages\Plugins\GreenshotJiraPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotJiraPlugin; Components: plugins\jira; Flags: overwritereadonly ignoreversion replacesameversion; ;Title-Fix Plugin -;Source: ..\..\bin\Release\Plugins\Greenshot-TitleFix-Plugin\*; DestDir: {app}\Plugins\Greenshot-TitleFix-Plugin; Components: plugins\titlefix; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -;Source: ..\..\bin\Release\Languages\Plugins\Greenshot-TitleFix-Plugin\*; DestDir: {app}\Languages\Plugins\Greenshot-TitleFix-Plugin; Components: plugins\titlefix; Flags: overwritereadonly ignoreversion replacesameversion; +Source: ..\..\bin\Release\Plugins\Greenshot-TitleFix-Plugin\*; DestDir: {app}\Plugins\Greenshot-TitleFix-Plugin; Components: plugins\titlefix; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; [Setup] OutputDir=..\ -OutputBaseFilename=Greenshot-INSTALLER-0.9.0.$WCREV$ -DefaultDirName={pf}\Greenshot -DefaultGroupName=Greenshot -AppName=Greenshot -AppVerName=Greenshot 0.9.0.$WCREV$ -AppMutex=F48E86D3-E34C-4DB7-8F8F-9A0EA55F0D08,Global\F48E86D3-E34C-4DB7-8F8F-9A0EA55F0D08 +OutputBaseFilename={#ExeName}-INSTALLER-{#Version} +DefaultDirName={pf}\{#ExeName} +DefaultGroupName={#ExeName} +AppId={#ExeName} +AppName={#ExeName} +AppPublisher={#ExeName} +AppPublisherURL=http://getgreenshot.org +AppSupportURL=http://getgreenshot.org +AppUpdatesURL=http://getgreenshot.org +AppVerName={#ExeName} {#Version} +AppVersion={#Version} +Compression=lzma/ultra64 +InternalCompressLevel=ultra64 +LanguageDetectionMethod=uilanguage +Uninstallable=true +UninstallDisplayIcon={app}\{#ExeName}.exe +VersionInfoCompany={#ExeName} +VersionInfoTextVersion={#Version} +VersionInfoVersion={#Version} +VersionInfoProductName={#ExeName} PrivilegesRequired=admin ; Reference a bitmap, max size 164x314 WizardImageFile=installer-large.bmp ; Reference a bitmap, max size 55x58 WizardSmallImageFile=installer-small.bmp -VersionInfoVersion=0.9.0.$WCREV$ -VersionInfoCompany=Greenshot -VersionInfoProductName=Greenshot MinVersion=,5.01.2600 [Registry] -Root: HKCU; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Greenshot; ValueData: {app}\Greenshot.exe; Permissions: users-modify; Flags: uninsdeletevalue; Tasks: startup +Root: HKCU; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: {#ExeName}; ValueData: {app}\{#ExeName}.exe; Permissions: users-modify; Flags: uninsdeletevalue; Tasks: startup [Icons] -Name: {group}\Greenshot; Filename: {app}\Greenshot.exe; WorkingDir: {app} -Name: {group}\Uninstall Greenshot; Filename: {app}\unins000.exe; WorkingDir: {app} +Name: {group}\{#ExeName}; Filename: {app}\{#ExeName}.exe; WorkingDir: {app} +Name: {group}\Uninstall {#ExeName}; Filename: {app}\unins000.exe; WorkingDir: {app} Name: {group}\Readme.txt; Filename: {app}\readme.txt; WorkingDir: {app} Name: {group}\License.txt; Filename: {app}\license.txt; WorkingDir: {app} [Languages] @@ -44,33 +57,46 @@ Name: de; MessagesFile: compiler:Languages\German.isl Name: nl; MessagesFile: compiler:Languages\Dutch.isl [Tasks] Name: startup; Description: {cm:startup} -;[Components] -;Name: "plugins"; Description: "Plugins"; Types: Full -;Name: "plugins\ocr"; Description: "OCR Plugin"; Types: Full -;Name: "plugins\jira"; Description: "JIRA Plugin"; Types: Full -;Name: "plugins\titlefix"; Description: "Title-fix Plugin"; Types: Full -;Name: "plugins\flickr"; Description: "Flickr Plugin"; Types: Full [CustomMessages] en.dotnetmissing=This setup requires the .NET Framework v2.0.%nDo you want to download the framework now? de.dotnetmissing=Dieses Programm benötigt Microsoft .NET Framework v2.0.%nWollen Sie das Framework jetzt downloaden? nl.dotnetmissing=Dit programma heeft Microsoft .NET Framework v2.0. nodig%nWilt u het Framework nu downloaden? -en.startup=Start Greenshot with Windows start -de.startup=Greenshot starten wenn Windows hochfahrt -nl.startup=Start Greenshot wanneer Windows opstart -en.startgreenshot=Start Greenshot -de.startgreenshot=Greenshot starten -nl.startgreenshot=Start Greenshot +en.startup=Start {#ExeName} with Windows start +de.startup={#ExeName} starten wenn Windows hochfahrt +nl.startup=Start {#ExeName} wanneer Windows opstart +en.startgreenshot=Start {#ExeName} +de.startgreenshot={#ExeName} starten +nl.startgreenshot=Start {#ExeName} +en.titlefix=Title cleanup for Internet explorer and Firefox +de.titlefix=Titel aufräumen bei Internet explorer und Firefox +nl.titlefix=Titel opruimen bij Internet explorer en Firefox +en.ocr=OCR Plugin (needs Microsoft Office 2003 or 2007) +de.ocr=OCR Plugin (braucht Microsoft Office 2003 oder 2007) +nl.ocr=OCR Plugin (heeft Microsoft Office 2003 of 2007 nodig) +[Components] +Name: "plugins"; Description: "Plugins"; Types: Full +Name: "plugins\ocr"; Description: {cm:ocr}; Types: Full +;Name: "plugins\jira"; Description: "JIRA Plugin"; Types: Full +Name: "plugins\titlefix"; Description: {cm:titlefix}; Types: Full +;Name: "plugins\flickr"; Description: "Flickr Plugin"; Types: Full [Code] function InitializeSetup(): Boolean; var ErrorCode : Integer; NetFrameWorkInstalled : Boolean; MsgBoxResult : Boolean; + bMutex : Boolean; + resultCode: Integer; begin NetFrameWorkInstalled := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v2.0'); if NetFrameWorkInstalled = true then begin + bMutex:= CheckForMutexes ('Local\{#Mutex}'); + if bMutex = True then + begin + Exec('taskkill.exe', '/F /IM Greenshot.exe', '', SW_HIDE, ewWaitUntilTerminated, ResultCode); + end; Result := true; end; @@ -80,10 +106,7 @@ begin Result := false; if MsgBoxResult = true then begin - ShellExec( - 'open', 'http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe', - '','',SW_SHOWNORMAL,ewNoWait,ErrorCode - ); + ShellExec('open', 'http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe', '','',SW_SHOWNORMAL,ewNoWait,ErrorCode); end; end; end; @@ -93,18 +116,16 @@ var bMutex : Boolean; resultCode: Integer; begin - bMutex:= CheckForMutexes ('Local\F48E86D3-E34C-4DB7-8F8F-9A0EA55F0D08'); + bMutex:= CheckForMutexes ('Local\{#Mutex}'); if bMutex = True then begin - Exec(ExpandConstant('{app}\greenshot.exe'), '--uninstall', '', SW_SHOW, ewWaitUntilTerminated, ResultCode); + Exec(ExpandConstant('{app}\{#ExeName}.exe'), '--uninstall', '', SW_HIDE, ewWaitUntilTerminated, ResultCode); end; Result := True; end; [Run] -Filename: {app}\Greenshot.exe; Description: {cm:startgreenshot}; Parameters: --configure Ui_Language={language}; WorkingDir: {app}; Flags: nowait postinstall runasoriginaluser -[UninstallRun] -Filename: {app}\Greenshot.exe; Parameters: --uninstall; WorkingDir: {app}; Languages: +Filename: {app}\{#ExeName}.exe; Description: {cm:startgreenshot}; Parameters: --configure Ui_Language={language}; WorkingDir: {app}; Flags: nowait postinstall runasoriginaluser [InstallDelete] Name: {app}; Type: filesandordirs; Languages: -Name: {userstartup}\Greenshot.lnk; Type: files; Languages: -Name: {commonstartup}\Greenshot.lnk; Type: files; Languages: +Name: {userstartup}\{#ExeName}.lnk; Type: files; Languages: +Name: {commonstartup}\{#ExeName}.lnk; Type: files; Languages: