OHSecureBrowser Network Install

<![CDATA[Okay, so you are a 1:1 school like us.  You get all the laptops back every summer, update and clean them, and reissue them the first week of school…in August.  2 weeks later, ODE finally releases the updated version of the Ohio Secure Browser for state Air testing.  Yes, we curse and swear and wish they had given it to us in June.  How do they think we are going to get all those devices back?  Oh, they gave us an MSI to GPO install it?  Great!  Sarcasm abounds here although it is difficult to hear.
The problem with a GPO/MSI install is that the thing will take forever, and possibly fail when users simply shut the laptop off, via wifi with hundreds of devices.  Oh, it works fine on the wired devices, especially if you roll out the GPO a container at a time.  WIFI MSI installs, not so much.
So we get to why am I writing this post at all.  No not to complain (well maybe a little) but to share how I get the new software out to laptops without a ridiculous delay.  I use a shutdown script that has it copy the software in pieces.  In this case, 5 pieces.  If you have a slow network, or experience issues, you could break it down to 20, realizing that it will take 20 shutdowns to complete.  The setup is predicated on making a network share with the contents of the OHSecureBrowser folder broken into distinct parts for the install steps.  You can break this batch file down even further if needed.  I have commented the basic stages of the process as much as possible.  Below is a screenshot of my folders and the contents of stage3.

Each text file is copied into OHSecureBrowser after that step is complete.  Stage0.txt denotes that it is complete.  The batch file (below) must be in the GPO (not linked) or it will not execute since it is making administrative level changes to the file system.  Also \\server\share in the code denotes where you are sharing the OH10 folder which includes the stage files above.
Why go to all this trouble?  Network installs can really slow you down, irritate users, and obviously fail.  Breaking an install like this into little parts makes it manageable, if you have the time to do it (assume a few weeks for all the parts.)  By copying the text file last it will simply keep doing that stage until it finally finished it.  This process has worked like a charm for me and I apply this frequently with items I want to happen seamlessly in the background.


IF EXIST “c:\Program Files\OHSecureBrowser\stage0.txt” (
goto end
)
IF EXIST “c:\Program Files (x86)\OHSecureBrowser\stage0.txt” (
goto end
)
IF EXIST “c:\Program Files\OHSecureBrowser\stage5.txt” (
C:
cd \Program Files\OHSecureBrowser
copy \\server\share\OH10\stage0.txt
goto end
)
IF EXIST “c:\Program Files (x86)\OHSecureBrowser\stage5.txt” (
c:
cd “\Program Files (x86)\OHSecureBrowser”
copy \\server\share\OH10\stage0.txt
goto end
)
IF NOT EXIST “C:\Users\Public\Desktop\OHSecureBrowser.lnk” (
goto Stage1
)
:Check86
IF EXIST “C:\Program Files\OHSecureBrowser\api-ms-win-core-console-l1-1-0.dll” (
c:
cd \Program Files\OHSecureBrowser
copy \\server\share\OH10\stage0.txt
copy \\server\share\OH10\stage5.txt
goto end
)
:Check64
IF EXIST “C:\Program Files (x86)\OHSecureBrowser\api-ms-win-core-console-l1-1-0.dll” (
c:
cd “\Program Files (x86)\OHSecureBrowser”
copy \\server\share\OH10\stage0.txt
copy \\server\share\OH10\stage5.txt
goto end
)
:Stage1
del “C:\Users\Public\Desktop\OHSecureBrowser.lnk”
IF NOT EXIST “c:\Program Files\OHSecureBrowser\stage1.txt” (
C:
cd \Program Files
md OHSecureBrowser
cd OHSecureBrowser
copy \\server\share\OH10\stage1\*.*
copy \\server\share\OH10\stage1.txt
goto end
)
:Stage2
IF NOT EXIST “c:\Program Files\OHSecureBrowser\stage2.txt” (
C:
cd \Program Files\OHSecureBrowser
copy \\server\share\OH10\stage2\*.*
copy \\server\share\OH10\stage2.txt
goto end
)
:Stage3
IF NOT EXIST “c:\Program Files\OHSecureBrowser\stage3.txt” (
C:
cd \Program Files\OHSecureBrowser
md defaults
cd defaults
md pref
cd pref
copy \\server\share\OH10\stage3\defaults\pref\*.*
cd \Program Files\OHSecureBrowser
md dictionaries
cd dictionaries
copy \\server\share\OH10\stage3\dictionaries\*.*
cd \Program Files\OHSecureBrowser
md fonts
cd fonts
copy \\server\share\OH10\stage3\fonts\*.*
cd \Program Files\OHSecureBrowser
md gmp-clearkey
cd gmp-clearkey
md 0.1
cd 0.1
copy \\server\share\OH10\stage3\gmp-clearkey\0.1\*.*
cd \Program Files\OHSecureBrowser
copy \\server\share\OH10\stage3.txt
goto end
)
:Stage4
IF NOT EXIST “c:\Program Files\OHSecureBrowser\stage4.txt” (
C:
cd \Program Files\OHSecureBrowser
md securebrowser
cd securebrowser
copy \\server\share\OH10\stage4\securebrowser\*.*
cd \Program Files\OHSecureBrowser\securebrowser
md components
cd components
copy \\server\share\OH10\stage4\securebrowser\components\*.*
cd \Program Files\OHSecureBrowser\securebrowser
md extensions
cd extensions
copy \\server\share\OH10\stage4\securebrowser\extensions\*.*
cd \Program Files\OHSecureBrowser\securebrowser
md features
cd features
copy \\server\share\OH10\stage4\securebrowser\features\*.*
cd \Program Files\OHSecureBrowser\securebrowser
md VisualElements
cd VisualElements
copy \\server\share\OH10\stage4\securebrowser\VisualElements\*.*
cd \Program Files\OHSecureBrowser
md uninstall
cd uninstall
copy \\server\share\OH10\stage4\uninstall\*.*
cd \Program Files\OHSecureBrowser
copy \\server\share\OH10\stage4.txt
goto end
)
:Stage5
IF NOT EXIST “c:\Program Files\OHSecureBrowser\stage5.txt” (
xcopy “\\server\share\OH10\stage5\*.*” “C:\Users\Public\Desktop\*.*” /d /y
C:
cd \Program Files\OHSecureBrowser
copy \\server\share\OH10\stage5.txt
copy \\server\share\OH10\stage0.txt
goto end
)
:end
 ]]>

Leave a Reply

Your email address will not be published. Required fields are marked *