grepp / seb-win-refactoring

Refactored version of Safe Exam Browser for Windows.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Safe Exam Browser, Version 3.x

Refactored version of Safe Exam Browser for Windows with Chromium as integrated browser engine.

Requirements

SEB 3.x requires the prerequisites listed below in order to work correctly. These are automatically installed with the setup bundle and need only be manually installed when using the MSI packages.

Project Status

DISCLAIMER
The builds linked below are for testing purposes only. They may be unstable and should thus never be used in a production environment! Always use the latest, official release version of SEB.

Aspect Status Details
Release Build Release Build Status https://sebdev-let.ethz.ch/project/appveyor/seb-win-refactoring
Test Build Test Build Status https://ci.appveyor.com/project/dbuechel/seb-win-refactoring
Test Run AppVeyor Tests https://ci.appveyor.com/project/dbuechel/seb-win-refactoring
Code Coverage Code Coverage https://codecov.io/gh/SafeExamBrowser/seb-win-refactoring
Issue Status GitHub Issues https://github.com/SafeExamBrowser/seb-win-refactoring/issues
Downloads GitHub All Releases https://github.com/SafeExamBrowser/seb-win-refactoring/releases
Development GitHub Last Commit n/a
Repository Size GitHub Repo Size n/a

Updated

Build Instruction

License file

Please find End User License Agreement file under "Setup\Resources\License.rtf"

Prerequisites

  1. Make sure that .NET Framework and Visual C++ Redistributable (see links above) installed
  2. You will need Visual Studio 2019 (not tested on 2017 version)
  3. Install the latest stable version of WIX Toolset https://wixtoolset.org/releases/v3.11.2/stable
  4. Install WiX Toolset Visual Studio 2019 Extension https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2019Extension
  5. Install Windows 10 SDK (requried to sign assemblies) https://go.microsoft.com/fwlink/?LinkID=698771
  6. Inside a folder where to you installed Windows SDK search for "signtool.exe". There should be at least 2 locations, something like:
  • x86 -> c:\Program Files (x86)\Windows Kits\10\bin\x86\
  • x64 -> c:\Program Files (x86)\Windows Kits\10\bin\x64\
  1. Next, depends on your system architecture (I assume you have 64bit windows installed), copy to clipboard a path to "signtool.exe"
  2. We need to make sure that path is accessible from Windows command line. Go to Environment System settings:
  • Press WIN + PAUSE buttons on a keyboard
  • Click the "Advanced System Settings" link on the left. In the next dialog, you will see the Environment Variables... button in the bottom of the Advanced tab.
  • Under the lower table (System variables) click "Create" and give a name "Win10SDK", and paste a path you have copied at step 7.
  • Scroll a table and search for "PATH", double click on it.
  • Create a new record: "%Win10SDK%" or "%Win10SDK%" (depends on trailing backslash symbol in the path you've added in previous step)
  • Click OK and close all system windows (Win 10 doesn't require a reboot here, not sure about other versions)

Cloning Git sources

  1. Clone git repository git clone --recursive https://github.com/grepp/seb-win-refactoring.git
  2. Fetch updates git fetch
  3. (Skipped if you did it before). git submodule init --"Chrominimum"
  4. Pull SEB sources by using git pull and chrominimum sources as a Git submodule git submodule update

** Now you can open a solution in your Visual Studio and build a solution ** ** Do not forget to select RELEASE configuration for solution otherwise you will get a assemblies with debug information included ** ** Also, for successful build the Bundlesetup project you should build solution in the following configurations 'Release x86' and 'Release x64' **

Certificate for development

  1. Please install OpenSSL. Windows version could be found here: http://slproweb.com/products/Win32OpenSSL.html

  2. Run OpenSSL Command-Line prompt

  3. Switch to 'Cerfiticate' folder inside a solution directory

  4. execute openssl openssl.exe

  5. paste following command req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout monito_private.key -out monito_certificate.crt

  6. openssl pkcs12 -export -out monito.pfx -inkey monito_private.key -in monito_certificate.crt

  7. When password asked, for development purposes please use '123' as a password

  8. Copy monito.pfx file into "Monito.Version" project with replacememnt an existing certificate PFX container

  9. PROFIT!! now we have a pfx container with certificate and a private key

For production version it must been changed to a special valid certificate So, here what we should do to reconfigure it:

  • Right-click on Setup/SetupBundle project -> Properties -> Build events
  • Check "Pre-Build" events. For each line which starting from "signtool" please check parameter options and modify it for a proper certificate
  • Also please check files "Setup.wixproj" and "SetupBundle.wixproj" in editor (like notepad) for a correct signtool parameters (like filename and passowrd).

Versioning

Since version number is a part of security subsystem - hash generation, please note that each time you change a version number, and old data like browserExamKey won't be valid anymore. To change (increment) a version number please modify a version tag inside "Monito.Version.csproj" file or you may use Visual Studio UI (Right-click -> Properties -> Package)

About

Refactored version of Safe Exam Browser for Windows.

License:Mozilla Public License 2.0


Languages

Language:C# 99.8%Language:XSLT 0.2%Language:HTML 0.0%