Default location where SEB is installed

Help
techlms
2012-09-20
2013-06-12
  • techlms
    techlms
    2012-09-20

    Hi,

    I am trying to invoke SEB (if installed) on client machine from our custom built exam application.
    But, I need to specify the locations of exe file, conf files.

    I am using the below paths, as per my understanding.

    Windows 7:
    SEB : C:\Program Files (x86)\ETH Zuerich\\SEB Windows 1.8.2\SebWindowsClient\\Release\SebStarter.exe
    conf files: C:\ProgramData\ETH Zuerich\SEB Windows 1.8.2\

    Windows xp:
    SEB : C:\Program Files\ETH Zuerich\SEB Windows 1.8.2\SebWindowsClient\Release\SebStarter.exe
    conf files: user's home directory + :\Documents and Settings\All Users\Application Data\ETH Zuerich\SEB Windows 1.8.2\

    Mac OS:
    SEB : /Applications/Safe Exam Browser.app
    conf : user's home directory + /Library/Preferences/org.safeexambrowser.Safe-Exam-Browser.plist

    So far, everything is working fine. But I am concerned as I am not sure if these paths could be little different from machine to machine even if they install in the default directory that seb shows during installation. For example, I used "(X86)" in path for win 7 when I noticed that it isn't just "program files" on one system. Can there be somethings like this that can change?
    Could someone clarify this please.

     
  • Dirk Bauer
    Dirk Bauer
    2012-09-24

    >Windows xp: SEB : C:\Program Files\ETH Zuerich\SEB Windows 1.8.2\SebWindowsClient\Release\SebStarter.exe conf >files: user's home directory + :\Documents and Settings\All Users\Application Data\ETH Zuerich\SEB Windows 1.8.2\

    For Windows XP, you must replace the "user's home directory" by the "root drive" directory, usually C:\
    (it is called HOMEDRIVE , e.g. when you type "set" in the cmd.exe command shell environment).
    So under Windows XP, the config files are usually located in

    C:\Documents and Settings\All Users\Application Data\ETH Zuerich\SEB Windows 1.8.2\

    The thing is, you must _not_ include the user's home directory because the location is the "Application Data"
    for "All Users". This is also the reason why under Windows 7, they are located in ProgramData, which is
    independent of the current user as well.

    Yes, the locations can vary from machine to machine, but the installer should automaticaly detect the correct
    default location because it uses the machine's settings (environment variables). There are some thumb rules:

    - for English versions of Windows, the .exe and .dll files are in "Program Files" or "Program Files (x86)"
    - for German versions of Windows, in "Programme" or "Programme (x86)", respectively.

    - for 32 bit versions of Windows, Program Files is without "(x86)"
    - for 64 bit versions of Windows, Program Files is with "(x86)"
    because on these systems, there is a "Program Files" too,
    but for 64 bit applications. SEB is a 32 bit application, and 32 bit applications
    are  lying in "Program Files (x86)" on 64 bit machines. Check out the hard drive
    on a 64 bit machine and you will see that there "Program Files" and "Program Files (x86)"
    are _both_ in the C: drive.

    - the .ini (config) files are not in the program directory, but in the program _data_ directory.
    This is independent of 32 or 64 bits, but dependent on if you use Win XP or Win 7.
    As you already noticed (and is described in the User Manual on www.safeexambrowser.org),
    Win 7 uses C:\ProgramData whereas Win XP still uses the old "Documents and Settings" stuff.

    Again: the installer automatically detects the correct location and you should accept it.
    Users had often troubles when chaning the destimation folder to something different,
    so I will take out the changing option in the next release. Anyway, SEB needs to be installed
    in Program Files because of the SebWindowsService which is running in the background.
    For these types of application, installing in a Program Files subdirectory is mandatory.

    Regards,
    Dirk

     
  • techlms
    techlms
    2012-09-24

    Thank you Dirkba. That is very detailed explanation. If it wasn't for you, I would have taken ages to figure it out myself. :)

    Windows xp: SEB : C:\Program Files\ETH Zuerich\SEB Windows 1.8.2\SebWindowsClient\Release\SebStarter.exe conf files: user's home directory + :\Documents and Settings\All Users\Application Data\ETH Zuerich\SEB Windows 1.8.2\
    Well, when I mentioned about conf files on Windows XP, I am checking for Drive from user's home directory and using it before "Documents & settings". So, I guess, what I am doing is inline with your explanation.

    I have tried to summarise what I understood from your post, please correct me if I am wrong.
    Exe File:
    Windows:
    64 bit: C:\Program Files (x86)\ETH Zuerich\\SEB Windows 1.8.2\SebWindowsClient\\Release\SebStarter.exe
    32 bit: C:\Program Files\ETH Zuerich\SEB Windows 1.8.2\SebWindowsClient\Release\SebStarter.exe

    Configuration files:
    XP: drive letter from user's home directory + :\Documents and Settings\All Users\Application Data\ETH Zuerich\SEB Windows 1.8.2\
    7: C:\ProgramData\ETH Zuerich\SEB Windows 1.8.2\

    Mac OS:
    SEB : /Applications/Safe Exam Browser.app
    conf : user's home directory + /Library/Preferences/org.safeexambrowser.Safe-Exam-Browser.plist

    I am still struggling with few more questions. Please help.
    1. This may be a dumb question, would program files,program files(X86), ProgramData always be under C drive?
    2. Are my paths correct for Mac OS. Are they dependent on architecture in anyway?

    Thank you.

     
  • Dirk Bauer
    Dirk Bauer
    2012-09-25

    ad 1): not necessarily under C:\, but most of the times. If the user has decided to install Windows under another drive, this has affected Program Files, too. (At least I think you can choose the hard disk or partition where to install Windows in the Windows Setup). But once Windows has been installed, Program Files and ProgramData and all stuff should be on the same drive. As I told you, you can type in the cmd.exe application the command "set", and this will list you all environment variables like HOMEDRIVE, and also "ProgramFiles" and "ProgramFiles(x86)" and "ProgramData". These values are loaded when the computer boots, so each application can retrieve them (and the SEB installer does, too). SEB then suggests the "ProgramFiles" if your machine is only 32 bit and "ProgramFiles(x86) if your machine is a 64 bit one. This will automatically be a subdirectory of the home drive, so you don't have to care about if the home drive is C:\, D:\ or whatever. The operating system knows it.

    ad 2) my colleage Daniel Schneider (our Mac developer) will answer you, I am only the Windows developer…