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 |
---|
10 | AppVerName=SansView-2.0.1 |
---|
11 | AppPublisher=(c) 2009 - 2011, University of Tennessee |
---|
12 | AppPublisherURL=http://danse.chem.utk.edu |
---|
13 | AppSupportURL=http://danse.chem.utk.edu |
---|
14 | AppUpdatesURL=http://danse.chem.utk.edu |
---|
15 | ChangesEnvironment=true |
---|
16 | DefaultDirName={pf}/SansView |
---|
17 | DefaultGroupName=DANSE/SansView-2.0.1 |
---|
18 | DisableProgramGroupPage=yes |
---|
19 | LicenseFile=license.txt |
---|
20 | OutputBaseFilename=setupSansView |
---|
21 | SetupIconFile=images\ball.ico |
---|
22 | Compression=lzma |
---|
23 | SolidCompression=yes |
---|
24 | PrivilegesRequired=none |
---|
25 | |
---|
26 | |
---|
27 | [Registry] |
---|
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 |
---|
45 | Root: HKCU; Subkey: "Software/Classes/applications\SansView.exe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\SansView.exe"" ""%1"""; Flags: uninsdeletevalue noerror |
---|
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 |
---|
51 | Root: HKCR; Subkey: "{app}\SansView.exe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\SansView.exe"" ""%1"""; Flags: uninsdeletevalue noerror |
---|
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 |
---|
54 | ; Write to PATH (below) is disabled; need more tests |
---|
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 |
---|
64 | Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; |
---|
65 | |
---|
66 | |
---|
67 | [Files] |
---|
68 | Source: "dist\SansView.exe"; DestDir: "{app}"; Flags: ignoreversion |
---|
69 | Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs |
---|
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 |
---|
72 | ; NOTE: Don't use "Flags: ignoreversion" on any shared system files |
---|
73 | |
---|
74 | [Icons] |
---|
75 | Name: "{group}\SansView"; Filename: "{app}\SansView.exe"; WorkingDir: "{app}"; IconFilename: "{app}\images\ball.ico" |
---|
76 | Name: "{group}\{cm:UninstallProgram, SansView}"; Filename: "{uninstallexe}" |
---|
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" |
---|
79 | |
---|
80 | |
---|
81 | [Run] |
---|
82 | Filename: "{app}\SansView.exe"; Description: "{cm:LaunchProgram, SansView}"; Flags: nowait postinstall skipifsilent |
---|
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 |
---|
91 | |
---|
92 | |
---|
93 | [Dirs] |
---|
94 | Name: "{app}\"; Permissions: everyone-modify |
---|
95 | |
---|
96 | |
---|
97 | [Code] |
---|
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 | |
---|
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 | |
---|
129 | |
---|
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}" |
---|
140 | |
---|