Deploying on a shoe-string budget

Saturday, June 6, 2015 Posted by

OK, so you’re a mom and pop shop… or a small university… or a really large university or business who is either cheap, constrained by budget or just want an easy solution.  OK, here it is… it gets no easier.

I do as much in batch scripting as I can. I have the advantage of tools like Faronics DeepFreeze to do deployments, however.  If you don’t, but you still want to deploy with scripts, you can simply setup a shared folder on the network as a software repository (simply your downloaded installer files and their associated batch files, separated by folders – for example “Google > Chrome > ChromeInstaller.msi”).

On each machine you deploy into the wild, setup a Windows Scheduled Task to run a batch file on the network every night at say 2am.  Leave that batch file empty (most of the time) and nothing will happen.  When you want something to happen… just populate the batch file and voila!  If you are concerned about conflicts, systems that don’t need the install, etc.  Just make an IF statement in the batch so that the script looks for some tell tale sign on the local computer before copying anything to it.  Sound risky?  Maybe… but it’s certainly cheap and easy!

Box Cloud Service, Box Sync [Success]

Saturday, June 6, 2015 Posted by

Box Cloud Service is one of two heavily used cloud storage services we use at Furman University, the other being OneDrive.  Installing Box Cloud to 1,500 computers en masse is easy to do with a simple command line.  We don’t deploy using Group Policy or SCCM.  In fact, we don’t do a lot of things that might be considered cutting edge or even best practice.  We’re a small group of people, some with great ideas, some of which get squashed.  Neither here nor there so onto the script!

If you’ve used any scripts on this site, you are probably familiar with Notepad++, msiexec, MDT and if not, you should be.  Box Sync has a few pre-requisites and each one is included in this script.

The three pre-requisites for 32-bit are:

Let’s tackle the framework!

C:\PathToYourFiles\dotNetFx40_Full_setup.exe /passive /norestart (passive will give the user a dialog box, norestart will of course not require the system to restart)

Next pre-req is Visual C++2008 – Man, I love it when they make it easy — and they generally don’t make it easy!

C:\PathToYourFiles\vcredist_x86.exe /q

Next pre-req is Visual C++2008 SP1 (Service Pack)

C:\PathToYourFiles\vcredist_x86.exe /q (note the file name is the same … unless you’ve changed it, which I would — I would add “SP1″ or something similar to the filename.

Add all three lines to a batch file in that order… along with the Box command line which is:

msiexec.exe /i C:\PathToYourFiles\SyncMSI32.msi /quiet /passive

Put them in this order and deploy using your favorite tool!

Box Cloud Service, Box-Edit [Success]

Saturday, June 6, 2015 Posted by

We use the cloud service, “Box” at Furman University (over other cloud services like DropBox).  An optional local install is Box Sync, which makes a selective copy of files from the cloud on your local drive.  Another optional install is Box Edit, which allows you to edit your files without saving them locally.  Technically, they DO get saved locally… and then uploaded back to Box — but “Box Edit” makes that seamless and automatic.

How do you install Box Edit silently, if you intend to deploy it to 1,500 computers??  Why, with a command line, of course.  You can download the MSI file here:

https://e3.boxcdn.net/box-installers/boxedit/win/currentrelease/BoxEditInstaller-AdminInstall.msi

Before deploying, test!  And the best way to test is by opening a command prompt and doing it manually.

Because this is an MSI file, start your test with this text at the command prompt:  msiexec.exe /i

Drag the MSI file into the window or copy the entire path to the file, including file name, and paste it after the first line and a space.  So you should have this in your command prompt:

msiexec.exe /i C:\PathToYourFile\BoxEditInstaller-AdminInstall.msi

msiexec.exe initiates the installation of an MSI file, the /i switch tells msiexec to INSTALL what follows (as opposed to uninstall or another command) but we aren’t done yet.  Adding /qb at the end will instruct msiexec to install Quietly and with a Basic user interface (so the user knows what is happening — they can see an installation taking place on the screen).  So your complete command line should look like this:

C:\msiexec.exe /i C:\PathToYourFile\BoxEditInstaller-AdminInstall.msi /qb

Add it to a batch file and deploy using another utility.  In my case, we use DeepFreeze to point it’s nightly maintenance cycle at the batch file.  Enjoy!

Unable to connect to network shares Windows 8 (8.1)

Thursday, May 22, 2014 Posted by
After fresh OS reload... can't connect to one of our network shares.  This Microsoft article resolved it:

http://support.microsoft.com/kb/2686098

Run PowerShell as admin and enter these two commands.

Set-SmbClientConfiguration -RequireSecuritySignature $true
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecureNegotiate -Value 0 -Force

Windows 8.1 Deployment

Sunday, November 17, 2013 Posted by

After months of posting silence, I’m back (at least for a bit).  It took coming in on a Sunday at 6am to be able to start posting again — because my work has been more focused on digital signage and covering a lost employee than new deployment methods.

Windows 8.1, 64-bit.  We’re in the early stages of adopting it — I would say more because we have no choice than because we want to.  I was hoping Microsoft would roll out a Windows 9 that looked and behaved amazingly like Windows 7 but we don’t see that happening.

So using MDT2013 (I had to upgrade in order to rollout Windows 8.1) I imported the OS, created a task sequence and deployed to one computer – if failed.  I tried six+ more times with a variety of config changes, they all failed with the same error:

“Windows could not parse or process unattend answer file [C:\windows\Panther\unattend.xml] for pass [specialize]. A component or setting specified in the answer file does not exist”.

This error shows up after “Installing Operating System…”; after “Getting Devices Ready…”; after “Getting Ready…”.  System reboots and this error comes up.  This same error used to come up with Windows 7 deployments IF IE10 was a part of the base OS due to Windows updates.  We simply removed IE10 and everything worked fine — then deployed IE10 post OS installation.

Here, the problem is similar and the only fix I’ve found is to completely remove reference to IE in the unattend.xml file.  This xml file resides on your server in the deployment share, inside the CONTROL folder, inside the folder named after your task sequence.  The specific lines I had to remove (not comment out, but REMOVE):

<component name=”Microsoft-Windows-IE-InternetExplorer” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>

<Home_Page>http://www.furman.edu</Home_Page>
<IEWelcomeMsg wcm:action=”modify”>false</IEWelcomeMsg>
</component>

I tried commenting out bits and pieces to no avail.  I tried to comment ALL of the lines out — but they kept returning, something about the sysprep may have been enabling the lines again?  When I removed these lines — my deployment went through immediately.  I just deleted them from the xml and saved it.  Worked perfectly.  I’m now at the Windows 8.1 desktop with a successful deployment.

Now I begin the process of testing applications.  For me, this will mean testing for 64-bit compatibility as well as Windows 8.1 compatibility.

Test Post for Digital Signage

Friday, April 19, 2013 Posted by

Testing Expiration Dates – this post will soon expire.

Stream .pls audio through Four Winds software [Success]

Monday, February 18, 2013 Posted by

Embedding a .pls file (Radio Station) inside digital signage.

Create html content in Four Winds and a local .html file.  Local file contains the code:

<p>
<!– Real Player Embed Code –>
<p>
<object id=”myMovie” classid=”clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa” width=”100%” height=”100″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0″>
<param name=”src” value=”http://sc6.spacialnet.com:32504/listen.pls” />
<param name=”console” value=”video1″ />
<param name=”controls” value=”All” />
<param name=”autostart” value=”true” />
<param name=”loop” value=”false” />
<param name=”name” value=”myMovie” />
<embed id=”myMovie” type=”audio/x-pn-realaudio-plugin” width=”100%” height=”100″ src=”http://sc6.spacialnet.com:32504/listen.pls”
name=”myMovie” loop=”false” autostart=”true” controls=”All” console=”video1″>
</embed>
</object>
</p>

Point the html content piece at this local .html file.  Each time the signage software launches, it streams the .pls.

Adding All Excel-Addins for ALL USERS in Windows 7 [Success]

Monday, February 11, 2013 Posted by

This really is one of the most valuable scripts I’ve ever written — not because of it’s complexity (it’s not complex) or because it’s incredibly smooth and transparent to the user (it’s neither). It’s valuable because it’s a very simple work around for a problem I’m confident Microsoft could fix — but for some reason hasn’t. And this problem has been plaguing us since the inception of Windows 7 and the inability to copy user profiles. Not a big deal if we didn’t have multi-user machines running DeepFreeze (erases all changes when someone logs in)

You may know that Excel Add-ins are added per user, in the registry. Current User, that is. I’ve tried, to no avail, modifying the HKLM keys, adding the Excel Add-ins automatically for all users. After failing too many times, I decided to simply import the HKCU regkey every time a user logs in. It’s a work around, for sure — but it WORKS and solves a problem for countless many.

In it’s simplest form — login to a computer, add the Excel Add-ins using the steps below:
http://office.microsoft.com/en-us/excel-help/add-or-remove-add-ins-HP010342658.aspx

Launch the registry through Start > Run > Regedit. Navigate to:
HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0ExcelOptions

You will see several options listed as follows:
[HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0ExcelOptions]
“OPEN”=”/R “C:\Program Files\Microsoft Office\Office14\Library\Analysis\ANALYS32.XLL””
“OPEN1″=”/R “C:\Program Files\Microsoft Office\Office14\Library\Analysis\ATPVBAEN.XLAM””
“OPEN2″=””C:\Program Files\Microsoft Office\Office14\Library\EUROTOOL.XLAM””
“OPEN3″=””C:\Program Files\Microsoft Office\Office14\Library\SOLVER\SOLVER.XLAM””
“OPEN4″=””C:\Program Files\Research Insight\Excel\Spri80.xla””

The goal is to get this set of registry entries to show up for every user. So we’re going to export the keys — and then import them every single time a user logins into any computer that has DeepFreeze on it.

You could simply place this exported registry key on the local hard drive and then make a batch that runs in startup and contains the following:
regedit /s “C:Program FilesMicrosoft Officeexcel.reg”

Done. It will import the new registry key for the person logging in, before they ever have a chance to launch Excel.

For me, one additional complication is that I’m doing this POST deployment of the OS which is already deepfrozen. So I instructed DeepFreeze to run a late night script during maintenance:

Run a batch file that disables User Account Control:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem]

“EnableLUA”=dword:00000000

and then run this batch:

copy “\\networkserver\sharename\Custom\OS_Modifications\Excel_Addins\excel.reg” C:\Users\Public\Desktop
copy “\\networkserver\sharename\Custom\OS_Modifications\Excel_Addins\startup_excel_addins.bat” C:\Users\Public\Desktop
copy “C:\Users\Public\Desktop\excel.reg” “C:\Program Files\Microsoft Office” /Y
copy “C:\Users\Public\Desktop\startup_excel_addins.bat” “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup” /Y
del C:\Users\Public\Desktop\startup_excel_addins.bat /Q
del C:\Users\Public\Desktop\excel.reg /Q

This copies the exported registry key from my server to the local computer desktop (Windows 7 won’t let me copy it directly to the root of C or to Program Files sometimes).  It also copies over the batch file that will ultimately be in the startup folder.

It then copies each file from the desktop to their end destination.  It then deletes the files from the desktop.  Now, with “startup_excel_addins.bat” resting in the Startup folder for ALL USERS, every time someone logs in, this batch file runs quickly and quietly to install the Excel Add-ins.  Done!

Silent install Office 2013 [Success]

Tuesday, November 6, 2012 Posted by

The new boss is the same as the old boss: http://www.thedecoderwheel.com/?p=669

The installation method is identical to 2010. (see above and below reference)

From this URL: http://technet.microsoft.com/en-us/library/dd630736(v=office.15).aspx

To configure silent installation and automatic activation options in the OCT

Run the OCT by typing setup.exe /admin at the command line from the root of the network installation point that contains the Office 2013 source files. For example, use \servershareOffice15setup.exe /admin.

To set silent installation options, choose Licensing and user interface in the navigation pane, in the details pane choose None in the Display level drop-down box, choose Suppress modal, clear the Completion notice check box, and then choose I accept the terms in the License Agreement.

To enter a MAK key, choose Licensing and user interface in the navigation pane, and in the details pane select Enter another product key, add your organization’s MAK product key for Office 2013 in the Product key text box.

To set automatic activation options, choose Modify Setup properties on the navigation pane, and then choose Add in the details pane.

In the Add/Modify Property Value dialog box, in the Name box, type AUTO_ACTIVATE. Note that property names must be uppercase.

In the Value box, type 1, and then choose OK.

When you complete your customizations in the OCT, click Save as on the File menu to save the Setup customization .msp file. You can save the customization .msp file in the Updates folder on the network installation point. Note that you can place only one Setup customization .msp file per product in the Updates folder for initial installations. For more information about using the Updates folder, see “Updates folder” in Office Customization Tool (OCT) in Office 2013.

Gateway laptop rebooting over and over [Success]

Monday, October 15, 2012 Posted by

Working on a customer computer, Gateway Model NV57H.  The system boots to the BIOS splash screen and then immediately reboots. I see “Press F2 to enter System Setup” for about 1 second and then it reboots over and over. Can enter the BIOS but cannot get into Safe Mode. I can boot to a CD and see the contents of the hard drive but I cannot get into Windows.

Can’t flash BIOS from CD. Call Gateway and they want me to send the system in for service and I’ll have it back in 10 days. Nooo thanks. Can’t recover system because it does not respond to any F keys other than F2. User didn’t make recovery CD’s.

Booted to Hiren’s CD (http://www.hiren.info/pages/bootcd) and ran “Boot Windows 7 (Bootmgr) from Hard Drive”. Gateway recovery options came up, bam! User has no data to save so I’m going for it. Recovered hard drive — less than two hours, all is good.