[fa597990] | 1 | |
---|
| 2 | ; Script generated by the Inno Setup Script Wizard |
---|
| 3 | |
---|
| 4 | ; and local_config.py located in this directory. |
---|
| 5 | ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! |
---|
| 6 | [Setup] |
---|
| 7 | |
---|
| 8 | ChangesAssociations=yes |
---|
| 9 | AppName=SansView |
---|
[2d74016] | 10 | AppVerName=SansView-2.0.1 |
---|
[a2898df] | 11 | AppPublisher=(c) 2009 - 2011, University of Tennessee |
---|
[fa597990] | 12 | AppPublisherURL=http://danse.chem.utk.edu |
---|
| 13 | AppSupportURL=http://danse.chem.utk.edu |
---|
| 14 | AppUpdatesURL=http://danse.chem.utk.edu |
---|
| 15 | ChangesEnvironment=true |
---|
[a2898df] | 16 | DefaultDirName={pf}\SansView |
---|
[2d74016] | 17 | DefaultGroupName=DANSE\SansView-2.0.1 |
---|
[fa597990] | 18 | DisableProgramGroupPage=yes |
---|
| 19 | LicenseFile=license.txt |
---|
| 20 | OutputBaseFilename=setupSansView |
---|
[d4c19e5] | 21 | SetupIconFile=images\ball.ico |
---|
[fa597990] | 22 | Compression=lzma |
---|
| 23 | SolidCompression=yes |
---|
| 24 | PrivilegesRequired=none |
---|
| 25 | |
---|
| 26 | |
---|
| 27 | [Registry] |
---|
[50282f8] | 28 | Root: HKCR; Subkey: ".xml\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 29 | Root: HKCR; Subkey: ".txt\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 30 | Root: HKCR; Subkey: ".asc\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 31 | Root: HKCR; Subkey: ".dat\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 32 | Root: HKCR; Subkey: ".tif\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 33 | Root: HKCR; Subkey: ".abs\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 34 | Root: HKCR; Subkey: ".d1d\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 35 | Root: HKCR; Subkey: ".sans\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 36 | Root: HKCR; Subkey: "applications\SansView.exe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\SansView.exe"" ""%1"""; Flags: uninsdeletevalue noerror |
---|
| 37 | Root: HKCU; Subkey: "Software\Classes\.xml\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 38 | Root: HKCU; Subkey: "Software\Classes\.txt\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 39 | Root: HKCU; Subkey: "Software\Classes\.asc\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 40 | Root: HKCU; Subkey: "Software\Classes\.dat\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 41 | Root: HKCU; Subkey: "Software\Classes\.tif\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 42 | Root: HKCU; Subkey: "Software\Classes\.abs\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 43 | Root: HKCU; Subkey: "Software\Classes\.d1d\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
| 44 | Root: HKCU; Subkey: "Software\Classes\.sans\OpenWithList\SansView.exe"; Flags: uninsdeletekey noerror |
---|
[c648414] | 45 | Root: HKCU; Subkey: "Software\Classes\applications\SansView.exe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\SansView.exe"" ""%1"""; Flags: uninsdeletevalue noerror |
---|
[dd16ad6] | 46 | Root: HKCR; Subkey: ".svs"; ValueType: string; ValueName: ""; ValueData: "{app}\SansView.exe"; Flags: uninsdeletevalue noerror |
---|
| 47 | Root: HKCR; Subkey: ".fitv"; ValueType: string; ValueName: ""; ValueData: "{app}\SansView.exe"; Flags: uninsdeletevalue noerror |
---|
| 48 | Root: HKCR; Subkey: ".inv"; ValueType: string; ValueName: ""; ValueData: "{app}\SansView.exe"; Flags: uninsdeletevalue noerror |
---|
| 49 | Root: HKCR; Subkey: ".prv"; ValueType: string; ValueName: ""; ValueData: "{app}\SansView.exe"; Flags: uninsdeletevalue noerror |
---|
| 50 | Root: HKCR; Subkey: "{app}\SansView.exe"; ValueType: string; ValueName: ""; ValueData: "{app}\SansView File"; Flags: uninsdeletekey noerror |
---|
[50282f8] | 51 | Root: HKCR; Subkey: "{app}\SansView.exe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\SansView.exe"" ""%1"""; Flags: uninsdeletevalue noerror |
---|
[dd16ad6] | 52 | Root: HKCR; Subkey: "{app}\images\ball.ico"; ValueType: string; ValueName: ""; ValueData: "{app}\SansView.exe,0"; Flags: uninsdeletevalue noerror |
---|
| 53 | Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "SANSVIEWPATH"; ValueData: "{app}"; Flags: uninsdeletevalue noerror |
---|
[50282f8] | 54 | ; Write to PATH (below) is disabled; need more tests |
---|
[fa597990] | 55 | ;Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "PATH"; ValueData: "%SANSVIEWPATH%;{olddata}"; Check: NeedsAddPath() |
---|
| 56 | |
---|
| 57 | |
---|
| 58 | [Languages] |
---|
| 59 | Name: "english"; MessagesFile: "compiler:Default.isl" |
---|
| 60 | |
---|
| 61 | |
---|
| 62 | [Tasks] |
---|
| 63 | Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked |
---|
[aade98e] | 64 | Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; |
---|
[fa597990] | 65 | |
---|
| 66 | |
---|
| 67 | [Files] |
---|
[d4c19e5] | 68 | Source: "dist\SansView.exe"; DestDir: "{app}"; Flags: ignoreversion |
---|
[fa597990] | 69 | Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
---|
[aade98e] | 70 | Source: "dist\plugin_models\*"; DestDir: "{userappdata}\..\.sansview\plugin_models"; Flags: recursesubdirs createallsubdirs |
---|
| 71 | Source: "dist\config\custom_config.py"; DestDir: "{userappdata}\..\.sansview\config"; Flags: recursesubdirs createallsubdirs |
---|
[fa597990] | 72 | ; NOTE: Don't use "Flags: ignoreversion" on any shared system files |
---|
| 73 | |
---|
| 74 | [Icons] |
---|
[aade98e] | 75 | Name: "{group}\SansView"; Filename: "{app}\SansView.exe"; WorkingDir: "{app}"; IconFilename: "{app}\images\ball.ico" |
---|
[fa597990] | 76 | Name: "{group}\{cm:UninstallProgram, SansView}"; Filename: "{uninstallexe}" |
---|
[aade98e] | 77 | Name: "{commondesktop}\SansView-2.0.1"; Filename: "{app}\SansView.exe"; Tasks: desktopicon; WorkingDir: "{app}" ; IconFilename: "{app}\images\ball.ico" |
---|
| 78 | Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\SansView-2.0.1"; Filename: "{app}\SansView.exe"; Tasks: quicklaunchicon; WorkingDir: "{app}"; IconFilename: "{app}\images\ball.ico" |
---|
[fa597990] | 79 | |
---|
| 80 | |
---|
| 81 | [Run] |
---|
| 82 | Filename: "{app}\SansView.exe"; Description: "{cm:LaunchProgram, SansView}"; Flags: nowait postinstall skipifsilent |
---|
[59c6c1e] | 83 | ; Install the Microsoft C++ DLL redistributable package if it is provided and the DLLs are not present on the target system. |
---|
| 84 | ; Note that the redistributable package is included if the app was built using Python 2.6 or 2.7, but not with 2.5. |
---|
| 85 | ; Parameter options: |
---|
| 86 | ; - for silent install use: "/q" |
---|
| 87 | ; - for silent install with progress bar use: "/qb" |
---|
| 88 | ; - for silent install with progress bar but disallow cancellation of operation use: "/qb!" |
---|
| 89 | ; Note that we do not use the postinstall flag as this would display a checkbox and thus require the user to decide what to do. |
---|
| 90 | ;Filename: "{app}\vcredist_x86.exe"; Parameters: "/qb!"; WorkingDir: "{tmp}"; StatusMsg: "Installing Microsoft Visual C++ 2008 Redistributable Package ..."; Check: InstallVC90CRT(); Flags: skipifdoesntexist waituntilterminated |
---|
[fa597990] | 91 | |
---|
| 92 | |
---|
[e7281fd] | 93 | [Dirs] |
---|
| 94 | Name: "{app}\"; Permissions: everyone-modify |
---|
| 95 | |
---|
| 96 | |
---|
[fa597990] | 97 | [Code] |
---|
[59c6c1e] | 98 | function InstallVC90CRT(): Boolean; |
---|
| 99 | begin |
---|
| 100 | Result := not DirExists('C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375'); |
---|
| 101 | end; |
---|
| 102 | |
---|
[fa597990] | 103 | function NeedsAddPath(): boolean; |
---|
| 104 | var |
---|
| 105 | oldpath: string; |
---|
| 106 | newpath: string; |
---|
| 107 | pathArr: TArrayOfString; |
---|
| 108 | i: Integer; |
---|
| 109 | begin |
---|
| 110 | RegQueryStringValue(HKEY_CURRENT_USER,'Environment','PATH', oldpath) |
---|
| 111 | oldpath := oldpath + ';'; |
---|
| 112 | newpath := '%SANSVIEWPATH%'; |
---|
| 113 | i := 0; |
---|
| 114 | while (Pos(';', oldpath) > 0) do begin |
---|
| 115 | SetArrayLength(pathArr, i+1); |
---|
| 116 | pathArr[i] := Copy(oldpath, 0, Pos(';', oldpath)-1); |
---|
| 117 | oldpath := Copy(oldpath, Pos(';', oldpath)+1, Length(oldpath)); |
---|
| 118 | i := i + 1; |
---|
| 119 | // Check if current directory matches app dir |
---|
| 120 | if newpath = pathArr[i-1] |
---|
| 121 | then begin |
---|
| 122 | Result := False; |
---|
| 123 | exit; |
---|
| 124 | end; |
---|
| 125 | end; |
---|
| 126 | Result := True; |
---|
| 127 | end; |
---|
| 128 | |
---|
[aade98e] | 129 | |
---|
[59c6c1e] | 130 | [UninstallDelete] |
---|
| 131 | ; Delete directories and files that are dynamically created by the application (i.e. at runtime). |
---|
| 132 | Type: filesandordirs; Name: "{app}\.matplotlib" |
---|
| 133 | Type: files; Name: "{app}\*.*" |
---|
| 134 | ; The following is a workaround for the case where the application is installed and uninstalled but the |
---|
| 135 | ;{app} directory is not deleted because it has user files. Then the application is installed into the |
---|
| 136 | ; existing directory, user files are deleted, and the application is un-installed again. Without the |
---|
| 137 | ; directive below, {app} will not be deleted because Inno Setup did not create it during the previous |
---|
| 138 | ; installation. |
---|
| 139 | Type: dirifempty; Name: "{app}" |
---|
[aade98e] | 140 | |
---|