OpenSecurity-IKT.iss
author Oliver Maurhart <oliver.maurhart@ait.ac.at>
Fri, 28 Nov 2014 15:54:20 +0100
changeset 251 d3eb2d026666
permissions -rw-r--r--
added setup script for IKT version
     1 ; -- OpenSecurity.iss --
     2 ; OpenSecurity setup file for use with
     3 ; Inno Setup Compiler (http://www.jrsoftware.org/isinfo.php) 
     4 
     5 ; Copyright 2013-2014 X-Net and AIT Austrian Institute of Technology
     6 ; 
     7 ; 
     8 ;     X-Net Services GmbH
     9 ;     Elisabethstrasse 1
    10 ;     4020 Linz
    11 ;     AUSTRIA
    12 ;     https://www.x-net.at
    13 ; 
    14 ;     AIT Austrian Institute of Technology
    15 ;     Donau City Strasse 1
    16 ;     1220 Wien
    17 ;     AUSTRIA
    18 ;     http://www.ait.ac.at
    19 ; 
    20 ; 
    21 ; Licensed under the Apache License, Version 2.0 (the "License");
    22 ; you may not use this file except in compliance with the License.
    23 ; You may obtain a copy of the License at
    24 ; 
    25 ;    http://www.apache.org/licenses/LICENSE-2.0
    26 ; 
    27 ; Unless required by applicable law or agreed to in writing, software
    28 ; distributed under the License is distributed on an "AS IS" BASIS,
    29 ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    30 ; See the License for the specific language governing permissions and
    31 ; limitations under the License.
    32 
    33 [Setup]
    34 AppName=OpenSecurity
    35 AppContact=AIT Austrian Institute of Technology
    36 AppPublisher=AIT Austrian Institute of Technology
    37 AppPublisherURL=http://www.ait.ac.at/
    38 AppVersion=1.0
    39 ArchitecturesInstallIn64BitMode=x64
    40 DefaultDirName={pf}\OpenSecurity
    41 DefaultGroupName=OpenSecurity
    42 ; DisableDirPage=yes
    43 ; DisableFinishedPage=yes
    44 ; DisableProgramGroupPage=yes
    45 ; DisableReadyMemo=yes
    46 ; DisableReadyPage=yes
    47 ; DisableWelcomePage=yes
    48 LicenseFile=OpenSecurity\Lizenz.txt
    49 OutputDir="."
    50 OutputBaseFilename="OpenSecurity Setup IKT V1.0"
    51 OutputManifestFile=OpenSecurity-Setup-Manifest.txt
    52 SetupIconFile=OpenSecurity\bin\ui\gfx\OpenSecurity.ico
    53 SolidCompression=yes
    54 UninstallDisplayIcon={app}\bin\ui\gfx\OpenSecurity.ico
    55 
    56 [Files]
    57 Source: "OpenSecurity\Lizenz.txt"; DestDir: "{app}"; 
    58 Source: "OpenSecurity\bin\*"; Excludes: "*.pyc,*.swp"; DestDir: "{app}\bin"; Flags: recursesubdirs createallsubdirs;
    59 Source: "OpenSecurity\cygwin64\*"; DestDir: "{app}\cygwin64"; Flags: recursesubdirs createallsubdirs;
    60 Source: "OpenSecurity\install\*"; DestDir: "{app}\install"; Flags: recursesubdirs createallsubdirs;
    61 Source: "OpenSecurity\python27\*"; DestDir: "{app}\python27"; Flags: recursesubdirs createallsubdirs;
    62 Source: "OpenSecurity\python27\python27.dll"; DestDir: "{sys}"; Flags: sharedfile;
    63 Source: "OpenSecurity\python27\Lib\site-packages\pywin32_system32\pywintypes27.dll"; DestDir: "{sys}"; Flags: sharedfile;
    64 Source: "OpenSecurity\systemprofile-IKT\.VirtualBox\*"; DestDir: "{sys}\config\systemprofile\.VirtualBox"; Flags: recursesubdirs createallsubdirs;
    65 Source: "OpenSecurity\systemprofile-IKT\VirtualBox VMs\*"; DestDir: "{sys}\config\systemprofile\VirtualBox VMs"; Flags: recursesubdirs createallsubdirs;
    66 Source: "OpenSecurity\Apache License, Version 2.0.txt"; DestDir: "{app}";
    67 
    68 [Dirs]
    69 Name: "{app}\cygwin64\var\log\xwin"; Permissions: everyone-modify
    70 Name: "{app}\log"; Permissions: everyone-modify
    71 
    72 [Registry]
    73 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
    74 Root: HKLM; Subkey: "SOFTWARE\OpenSecurity"; ValueName: "LogServerUrl"; ValueType: string; ValueData: "{code:URLLogServer}"; Flags: uninsdeletevalue
    75 Root: HKLM; Subkey: "SOFTWARE\OpenSecurity"; ValueName: "Browser"; ValueType: string; ValueData: "{code:VMBrowser}"; Flags: uninsdeletevalue
    76 Root: HKLM; Subkey: "SOFTWARE\OpenSecurity"; ValueName: "ImageUrl"; ValueType: string; ValueData: "http://service.x-net.at/opensecurity/OsecVM_latest.ova"; Flags: uninsdeletevalue
    77 Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\services\USBSTOR"; ValueName: "Start"; ValueType: dword; ValueData: 4;
    78 
    79 [Icons]
    80 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"
    81 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"
    82 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"
    83 Name: "{group}\Uninstall OpenSecurity"; Filename: "{uninstallexe}"
    84 
    85 [Run]
    86 Filename: "{app}\cygwin64\bin\dash.exe"; Parameters: "/bin/rebaseall"; Description: "Rebasing background system"; WorkingDir: "{app}"; StatusMsg: "Rebasing background system..."; Flags: runascurrentuser
    87 Filename: "{app}\install\fix_cygwin_paths.bat"; Description: "Fixing Cygwin paths"; WorkingDir: "{app}\install"; StatusMsg: "Fixing Cygwin Paths...";
    88 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...";
    89 Filename: "{app}\bin\firewall-install.bat"; Description: "Setup firewall rules"; WorkingDir: "{app}"; StatusMsg: "Setup firewall rules...";
    90 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
    91 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" start"; Description: "Starting OpenSecurity Service"; WorkingDir: "{app}"; StatusMsg: "Starting OpenSecurity Service"; Flags: runascurrentuser
    92 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_tray.pyw"""; WorkingDir: "{userappdata}"; Description: "Launching OpenSecurity Tray Icon"; Flags: nowait
    93 
    94 [UninstallRun]
    95 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\terminate_client_tray.pyw"" stop"; WorkingDir: "{app}"; StatusMsg: "Stopping the OpenSecurity Client Tray Service"; Flags: runascurrentuser
    96 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" stop"; WorkingDir: "{app}"; StatusMsg: "Stopping the OpenSecurity Service"; Flags: runascurrentuser
    97 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" remove"; WorkingDir: "{app}"; StatusMsg: "Removing the OpenSecurity Service"; Flags: runascurrentuser
    98 Filename: "{app}\bin\firewall-uninstall.bat"; WorkingDir: "{app}"; StatusMsg: "Uninstall firewall rules...";
    99 
   100 [UninstallDelete]
   101 Type: filesandordirs; Name: "{app}"
   102 
   103 
   104 [Code]
   105 var
   106   UserInputPage: TInputQueryWizardPage;
   107 
   108 procedure InitializeWizard;
   109 begin
   110 
   111   // Create the page
   112   UserInputPage := CreateInputQueryPage(wpWelcome,
   113     'Installation Details', 
   114     'Essential settings for the current OpenSecurity Installation',
   115     'Please specify concrete details for the OpenSecurity Installation. In doubt, leave unchanged.');
   116 
   117   // Add items (False means it's not a password edit)
   118   UserInputPage.Add('VM Browser:', False);
   119   UserInputPage.Add('URL of Logserver:', False);
   120 
   121   // Set initial values (optional)
   122   UserInputPage.Values[0] := '/usr/bin/chromium';
   123   UserInputPage.Values[1] := 'http://10.215.5.166/opensecurity/log';
   124 
   125 end;
   126 
   127 function VMBrowser(Param: String): String;
   128 begin
   129   Result := UserInputPage.Values[0]
   130 end;
   131 
   132 function URLLogServer(Param: String): String;
   133 begin
   134   Result := UserInputPage.Values[1]
   135 end;