oliver@251: ; -- OpenSecurity.iss -- oliver@251: ; OpenSecurity setup file for use with oliver@251: ; Inno Setup Compiler (http://www.jrsoftware.org/isinfo.php) oliver@251: oliver@251: ; Copyright 2013-2014 X-Net and AIT Austrian Institute of Technology oliver@251: ; oliver@251: ; oliver@251: ; X-Net Services GmbH oliver@251: ; Elisabethstrasse 1 oliver@251: ; 4020 Linz oliver@251: ; AUSTRIA oliver@251: ; https://www.x-net.at oliver@251: ; oliver@251: ; AIT Austrian Institute of Technology oliver@251: ; Donau City Strasse 1 oliver@251: ; 1220 Wien oliver@251: ; AUSTRIA oliver@251: ; http://www.ait.ac.at oliver@251: ; oliver@251: ; oliver@251: ; Licensed under the Apache License, Version 2.0 (the "License"); oliver@251: ; you may not use this file except in compliance with the License. oliver@251: ; You may obtain a copy of the License at oliver@251: ; oliver@251: ; http://www.apache.org/licenses/LICENSE-2.0 oliver@251: ; oliver@251: ; Unless required by applicable law or agreed to in writing, software oliver@251: ; distributed under the License is distributed on an "AS IS" BASIS, oliver@251: ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. oliver@251: ; See the License for the specific language governing permissions and oliver@251: ; limitations under the License. oliver@251: oliver@251: [Setup] oliver@251: AppName=OpenSecurity oliver@251: AppContact=AIT Austrian Institute of Technology oliver@251: AppPublisher=AIT Austrian Institute of Technology oliver@251: AppPublisherURL=http://www.ait.ac.at/ oliver@251: AppVersion=1.0 oliver@251: ArchitecturesInstallIn64BitMode=x64 oliver@251: DefaultDirName={pf}\OpenSecurity oliver@251: DefaultGroupName=OpenSecurity oliver@251: ; DisableDirPage=yes oliver@251: ; DisableFinishedPage=yes oliver@251: ; DisableProgramGroupPage=yes oliver@251: ; DisableReadyMemo=yes oliver@251: ; DisableReadyPage=yes oliver@251: ; DisableWelcomePage=yes oliver@251: LicenseFile=OpenSecurity\Lizenz.txt oliver@251: OutputDir="." oliver@251: OutputBaseFilename="OpenSecurity Setup IKT V1.0" oliver@251: OutputManifestFile=OpenSecurity-Setup-Manifest.txt oliver@251: SetupIconFile=OpenSecurity\bin\ui\gfx\OpenSecurity.ico oliver@251: SolidCompression=yes oliver@251: UninstallDisplayIcon={app}\bin\ui\gfx\OpenSecurity.ico oliver@251: oliver@251: [Files] oliver@251: Source: "OpenSecurity\Lizenz.txt"; DestDir: "{app}"; oliver@251: Source: "OpenSecurity\bin\*"; Excludes: "*.pyc,*.swp"; DestDir: "{app}\bin"; Flags: recursesubdirs createallsubdirs; oliver@251: Source: "OpenSecurity\cygwin64\*"; DestDir: "{app}\cygwin64"; Flags: recursesubdirs createallsubdirs; oliver@251: Source: "OpenSecurity\install\*"; DestDir: "{app}\install"; Flags: recursesubdirs createallsubdirs; oliver@251: Source: "OpenSecurity\python27\*"; DestDir: "{app}\python27"; Flags: recursesubdirs createallsubdirs; oliver@251: Source: "OpenSecurity\python27\python27.dll"; DestDir: "{sys}"; Flags: sharedfile; oliver@251: Source: "OpenSecurity\python27\Lib\site-packages\pywin32_system32\pywintypes27.dll"; DestDir: "{sys}"; Flags: sharedfile; oliver@251: Source: "OpenSecurity\systemprofile-IKT\.VirtualBox\*"; DestDir: "{sys}\config\systemprofile\.VirtualBox"; Flags: recursesubdirs createallsubdirs; oliver@251: Source: "OpenSecurity\systemprofile-IKT\VirtualBox VMs\*"; DestDir: "{sys}\config\systemprofile\VirtualBox VMs"; Flags: recursesubdirs createallsubdirs; oliver@251: Source: "OpenSecurity\Apache License, Version 2.0.txt"; DestDir: "{app}"; oliver@251: oliver@251: [Dirs] oliver@251: Name: "{app}\cygwin64\var\log\xwin"; Permissions: everyone-modify oliver@251: Name: "{app}\log"; Permissions: everyone-modify oliver@251: oliver@251: [Registry] oliver@251: Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueName: "OpenSecurity Tray Icon"; ValueType: string; ValueData: "{app}\python27\pythonw.exe ""{app}\bin\opensecurity_tray.pyw"""; Flags: uninsdeletevalue oliver@251: Root: HKLM; Subkey: "SOFTWARE\OpenSecurity"; ValueName: "LogServerUrl"; ValueType: string; ValueData: "{code:URLLogServer}"; Flags: uninsdeletevalue oliver@251: Root: HKLM; Subkey: "SOFTWARE\OpenSecurity"; ValueName: "Browser"; ValueType: string; ValueData: "{code:VMBrowser}"; Flags: uninsdeletevalue oliver@251: Root: HKLM; Subkey: "SOFTWARE\OpenSecurity"; ValueName: "ImageUrl"; ValueType: string; ValueData: "http://service.x-net.at/opensecurity/OsecVM_latest.ova"; Flags: uninsdeletevalue oliver@251: Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\services\USBSTOR"; ValueName: "Start"; ValueType: dword; ValueData: 4; oliver@251: oliver@251: [Icons] oliver@251: Name: "{group}\OpenSecurity Tray Icon"; Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_tray.pyw"""; WorkingDir: "{userappdata}"; Comment: "The OpenSecurity Tray Icon"; IconFilename: "{app}\bin\ui\gfx\OpenSecurity.ico" oliver@251: Name: "{group}\Secure Browsing"; Filename: "{app}\cygiwn64\bin\wget.exe"; Parameters: """http://localhost:8080/browsing"""; WorkingDir: "{userappdata}"; Comment: "OpenSecurity Secure Browsing"; IconFilename: "{app}\bin\ui\gfx\opensecurity_browsing_64.ico" oliver@251: Name: "{commondesktop}\Secure Browsing"; Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\start_browsing.pyw"""; WorkingDir: "{userappdata}"; Comment: "OpenSecurity Secure Browsing"; IconFilename: "{app}\bin\ui\gfx\opensecurity_browsing_64.ico" oliver@251: Name: "{group}\Uninstall OpenSecurity"; Filename: "{uninstallexe}" oliver@251: oliver@251: [Run] oliver@251: Filename: "{app}\cygwin64\bin\dash.exe"; Parameters: "/bin/rebaseall"; Description: "Rebasing background system"; WorkingDir: "{app}"; StatusMsg: "Rebasing background system..."; Flags: runascurrentuser oliver@251: Filename: "{app}\install\fix_cygwin_paths.bat"; Description: "Fixing Cygwin paths"; WorkingDir: "{app}\install"; StatusMsg: "Fixing Cygwin Paths..."; oliver@251: Filename: "{app}\cygwin64\bin\bash.exe"; Parameters: "-l -i -c echo -n"; Description: "Enforcing login environment for shells"; WorkingDir: "{app}"; StatusMsg: "Enforcing login environment for shells..."; oliver@251: Filename: "{app}\bin\firewall-install.bat"; Description: "Setup firewall rules"; WorkingDir: "{app}"; StatusMsg: "Setup firewall rules..."; oliver@251: Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" --startup auto install"; Description: "Installing the OpenSecurity Service"; WorkingDir: "{app}"; StatusMsg: "Installing the OpenSecurity Service"; Flags: runascurrentuser oliver@251: Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" start"; Description: "Starting OpenSecurity Service"; WorkingDir: "{app}"; StatusMsg: "Starting OpenSecurity Service"; Flags: runascurrentuser oliver@251: Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_tray.pyw"""; WorkingDir: "{userappdata}"; Description: "Launching OpenSecurity Tray Icon"; Flags: nowait oliver@251: oliver@251: [UninstallRun] oliver@251: Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\terminate_client_tray.pyw"" stop"; WorkingDir: "{app}"; StatusMsg: "Stopping the OpenSecurity Client Tray Service"; Flags: runascurrentuser oliver@251: Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" stop"; WorkingDir: "{app}"; StatusMsg: "Stopping the OpenSecurity Service"; Flags: runascurrentuser oliver@251: Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" remove"; WorkingDir: "{app}"; StatusMsg: "Removing the OpenSecurity Service"; Flags: runascurrentuser oliver@251: Filename: "{app}\bin\firewall-uninstall.bat"; WorkingDir: "{app}"; StatusMsg: "Uninstall firewall rules..."; oliver@251: oliver@251: [UninstallDelete] oliver@251: Type: filesandordirs; Name: "{app}" oliver@251: oliver@251: oliver@251: [Code] oliver@251: var oliver@251: UserInputPage: TInputQueryWizardPage; oliver@251: oliver@251: procedure InitializeWizard; oliver@251: begin oliver@251: oliver@251: // Create the page oliver@251: UserInputPage := CreateInputQueryPage(wpWelcome, oliver@251: 'Installation Details', oliver@251: 'Essential settings for the current OpenSecurity Installation', oliver@251: 'Please specify concrete details for the OpenSecurity Installation. In doubt, leave unchanged.'); oliver@251: oliver@251: // Add items (False means it's not a password edit) oliver@251: UserInputPage.Add('VM Browser:', False); oliver@251: UserInputPage.Add('URL of Logserver:', False); oliver@251: oliver@251: // Set initial values (optional) oliver@251: UserInputPage.Values[0] := '/usr/bin/chromium'; oliver@251: UserInputPage.Values[1] := 'http://10.215.5.166/opensecurity/log'; oliver@251: oliver@251: end; oliver@251: oliver@251: function VMBrowser(Param: String): String; oliver@251: begin oliver@251: Result := UserInputPage.Values[0] oliver@251: end; oliver@251: oliver@251: function URLLogServer(Param: String): String; oliver@251: begin oliver@251: Result := UserInputPage.Values[1] oliver@251: end;