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