OpenSecurity.iss
author Oliver Maurhart <oliver.maurhart@ait.ac.at>
Mon, 10 Nov 2014 16:58:39 +0100
changeset 247 bcadf8308abd
parent 243 5e4303a2a3be
child 250 7310daa5a362
permissions -rw-r--r--
verison number change to 0.2.12
     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=0.2.12
    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 V0.2.12"
    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\.VirtualBox\*"; DestDir: "{sys}\config\systemprofile\.VirtualBox"; Flags: recursesubdirs createallsubdirs;
    65 Source: "OpenSecurity\systemprofile\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: "SYSTEM\CurrentControlSet\services\USBSTOR"; ValueName: "Start"; ValueType: dword; ValueData: 4;
    77 
    78 [Icons]
    79 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"
    80 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"
    81 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"
    82 Name: "{group}\Uninstall OpenSecurity"; Filename: "{uninstallexe}"
    83 
    84 [Run]
    85 Filename: "{app}\cygwin64\bin\dash.exe"; Parameters: "/bin/rebaseall"; Description: "Rebasing background system"; WorkingDir: "{app}"; StatusMsg: "Rebasing background system..."; Flags: runascurrentuser
    86 Filename: "{app}\install\fix_cygwin_paths.bat"; Description: "Fixing Cygwin paths"; WorkingDir: "{app}\install"; StatusMsg: "Fixing Cygwin Paths...";
    87 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...";
    88 Filename: "{app}\bin\firewall-install.bat"; Description: "Setup firewall rules"; WorkingDir: "{app}"; StatusMsg: "Setup firewall rules...";
    89 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
    90 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" start"; Description: "Starting OpenSecurity Service"; WorkingDir: "{app}"; StatusMsg: "Starting OpenSecurity Service"; Flags: runascurrentuser
    91 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_tray.pyw"""; WorkingDir: "{userappdata}"; Description: "Launching OpenSecurity Tray Icon"; Flags: nowait
    92 
    93 [UninstallRun]
    94 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\terminate_client_tray.pyw"" stop"; WorkingDir: "{app}"; StatusMsg: "Stopping the OpenSecurity Client Tray Service"; Flags: runascurrentuser
    95 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" stop"; WorkingDir: "{app}"; StatusMsg: "Stopping the OpenSecurity Service"; Flags: runascurrentuser
    96 Filename: "{app}\python27\pythonw.exe"; Parameters: """{app}\bin\opensecurity_service.pyw"" remove"; WorkingDir: "{app}"; StatusMsg: "Removing the OpenSecurity Service"; Flags: runascurrentuser
    97 Filename: "{app}\bin\firewall-uninstall.bat"; WorkingDir: "{app}"; StatusMsg: "Uninstall firewall rules...";
    98 
    99 [UninstallDelete]
   100 Type: filesandordirs; Name: "{app}"
   101 
   102 
   103 [Code]
   104 var
   105   UserInputPage: TInputQueryWizardPage;
   106 
   107 procedure InitializeWizard;
   108 begin
   109 
   110   // Create the page
   111   UserInputPage := CreateInputQueryPage(wpWelcome,
   112     'Installation Details', 
   113     'Essential settings for the current OpenSecurity Installation',
   114     'Please specify concrete details for the OpenSecurity Installation. In doubt, leave unchanged.');
   115 
   116   // Add items (False means it's not a password edit)
   117   UserInputPage.Add('VM Browser:', False);
   118   UserInputPage.Add('URL of Logserver:', False);
   119 
   120   // Set initial values (optional)
   121   UserInputPage.Values[0] := '/usr/bin/chromium';
   122   UserInputPage.Values[1] := 'http://10.215.5.166/opensecurity/log';
   123 
   124 end;
   125 
   126 function VMBrowser(Param: String): String;
   127 begin
   128   Result := UserInputPage.Values[0]
   129 end;
   130 
   131 function URLLogServer(Param: String): String;
   132 begin
   133   Result := UserInputPage.Values[1]
   134 end;