<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>So Joe... &#187; Silent Installs</title>
	<atom:link href="http://sojoe.info/category/technology/silent-installs/feed/" rel="self" type="application/rss+xml" />
	<link>http://sojoe.info</link>
	<description>Random stuff that Joe likes to talk about</description>
	<lastBuildDate>Tue, 08 May 2012 16:28:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>A Step-by-Step Guide to Silently Install Google SketchUp 6</title>
		<link>http://sojoe.info/2007/02/a-step-by-step-guide-to-silently-install-google-sketchup-6/</link>
		<comments>http://sojoe.info/2007/02/a-step-by-step-guide-to-silently-install-google-sketchup-6/#comments</comments>
		<pubDate>Thu, 15 Feb 2007 07:00:40 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/2007/02/15/a-step-by-step-guide-to-silently-install-google-sketchup-6/</guid>
		<description><![CDATA[This is part of my series on How to Install Windows Applications Silently. SketchUp, now owned by Google, is a great 3D modeling program that makes it very easy to throw your 3-dimensional ideas into a model. If you need to install it on many machines, it will save you time to automate the process, [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is part of my series on <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a>.</p></blockquote>
<p><span class="dropcap">S</span>ketchUp, now owned by Google, is a great 3D modeling program that makes it very easy to throw your 3-dimensional ideas into a model. If you need to install it on many machines, it will save you time to automate the process, so you don&#8217;t have to click through the installer each time. Thankfully, the Google SketchUp 6 installer isn&#8217;t to difficult (once you figure it out). Their are multiple ways to do this, but this is the one that I&#8217;m currently using so I know it works. Keep in mind that my main goal is to simplify the process so I don&#8217;t have to click so much, and automate so I don&#8217;t miss any steps. Whether or not this works with a login script or SMS or other methods of install aren&#8217;t within the scope of this document. <span id="more-250"></span></p>
<p>First, if you haven&#8217;t read my post <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a> then go do that now, you won&#8217;t need any of the special tools, but it is useful background and will help all of this to fit into a context. Once you&#8217;ve done that, create a folder called <i>Sketchup</i> in the %Apps% folder. Go to <a href="http://sketchup.google.com/download.html" class="autohyperlink" title="http://sketchup.google.com/download.html" target="_blank">sketchup.google.com/download.html</a> to grab the <i>Google SketchUp 6</i> download for Windows 2000/XP, save it to the Sketchup folder you just created, the file is likely called <i>GoogleSketchUpWEN.exe</i>.</p>
<p>The next thing you&#8217;ll need to do is create a <i>Setup.iss</i> file. This is like a script for the setup program. Their are two ways you can do it. The first method is to copy the code below and save it to a file called <i>setup.iss</i> in the Sketchup directory you created. This script is the one I created which installs using all the default settings.</p>
<pre><code>
[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-DlgOrder]
Dlg0={B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdWelcome-0
Count=5
Dlg1={B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdLicense2Rtf-0
Dlg2={B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdAskDestPath2-0
Dlg3={B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdStartCopy2-0
Dlg4={B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdFinish-0
[{B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdWelcome-0]
Result=1
[{B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdLicense2Rtf-0]
Result=1
[{B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdAskDestPath2-0]
szDir=C:\Program Files\Google\Google SketchUp 6
Result=1
[{B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdStartCopy2-0]
Result=1
[Application]
Name=Google SketchUp 6
Version=6.0.00176
Company=Google
Lang=0009
[{B3D8B2F8-3C2C-45BC-933E-8B60E78F6684}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
</code></pre>
<p>The second method is to &#8216;record&#8217; your own. You can do this by running the install with a &#8216;/r&#8217; switch. Open your <i>Start</i> menu and choose <i>Run</i>. If their is any text in the &#8216;Open&#8217; box, delete it, and then drag the GoogleSketchUpWEN.exe file you downloaded onto the open window. The path to the file will appear in the Open box, add a space, and then <i>/r</i> after the path, which will tell the setup to record the options that you choose as it goes. Click <i>OK</i> and run the setup as you would like it to be run every other time. Once finished, go to the <i>Windows</i> folder (probably C:\Windows) and copy the file setup.iss to the Sketchup folder you created.</p>
<p>Now you can create the batch file that tells the install to run, and adds any extra steps you&#8217;d like. Create a <a href="/2006/03/27/how-to-create-a-text-file/">text file</a> called <i>install.bat</i> in your Sketchup directory. Add the following code:</p>
<pre><code>
@ECHO OFF
ECHO Installing SketchUp

start /wait googlesketchupwen.exe /a /s /sms /f1%CD%\setup.iss /f2%temp%\setup.log

del "%allusersprofile%\desktop\Google SketchUp.lnk"
move "%allusersprofile%\start menu\programs\google sketchup 6\Google Sketchup.lnk" "%allusersprofile%\start menu\programs"
rd "%allusersprofile%\start menu\programs\google sketchup 6" /S/Q
del "%temp%\setup.log"

exit
</code></pre>
<p>This script will tell the install program to start, and run the install using the setup.iss file you provided. It will create a log file of the install in your %temp% directory. Note that you&#8217;ll be able to see the installer running on the screen, but you won&#8217;t have to interact with it. Once the installer finishes, the shortcut on the desktop will be deleted (I hate desktop clutter, you can of course remove that line if you wish). Because I use this program in student computer labs, I don&#8217;t need to have the &#8216;uninstall&#8217; option available in the menu, so I move the main shortcut out of the Google SketchUp 6 folder in the Programs Menu, and then delete the folder (and the unistaller icon inside). Finally, I like to clean up after myself, so I delete the log file as well (no way I know of to tell it not to create it in the first place).</p>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2007/02/a-step-by-step-guide-to-silently-install-google-sketchup-6/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to Install Microsoft .NET Framework 3.0 Silently</title>
		<link>http://sojoe.info/2006/12/how-to-install-microsoft-net-framework-30-silently/</link>
		<comments>http://sojoe.info/2006/12/how-to-install-microsoft-net-framework-30-silently/#comments</comments>
		<pubDate>Thu, 21 Dec 2006 07:00:14 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/2006/12/21/how-to-install-microsoft-net-framework-30-silently/</guid>
		<description><![CDATA[This is part of my series on How to Install Windows Applications Silently. Microsoft&#8217;s .NET Framework 3.0 is now available. You&#8217;ll likely need it for compatibility with software that also needs to talk to Microsoft&#8217;s Windows Vista. If you deploy lots of applications, you&#8217;ll probably want a silent way to install it, which is what [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is part of my series on <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a>.</p></blockquote>
<p><span class="dropcap">M</span>icrosoft&#8217;s .NET Framework 3.0 is now available. You&#8217;ll likely need it for compatibility with software that also needs to talk to Microsoft&#8217;s Windows Vista. If you deploy lots of applications, you&#8217;ll probably want a silent way to install it, which is what this article is about.<br />
You&#8217;ll first need to download Microsoft .NET Framework 3.0 Redistributable Package from <a href="http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&amp;displaylang=en" class="autohyperlink" title="http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&amp;displaylang=en" target="_blank">www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&amp;displaylang=en</a>. The file is called <em>dotnetfx3setup.exe</em>, and has the following command line switches: <span id="more-236"></span></p>
<ul>
<li><strong>/q</strong> &#8211; UI is entirely suppressed</li>
<li><strong>/remove</strong> &#8211; Uninstalls product</li>
<li><strong>/f</strong> &#8211; Repairs a product. This will repair all components that are installed.</li>
<li><strong>/norestart</strong> &#8211; Never restart option. The installer never restarts the computer after the installation. Setup will still return 3010 if a reboot is required.</li>
</ul>
<p>As of 12pm CST on 12/19/06 there are no Windows Updates for .Net3.</p>
<p>Microsoft notes that &#8220;For best results, install on a computer that has not had pre-release versions of Microsoft .NET Framework 3.0 installed on it. If your computer has a pre-release version on it, follow the Uninstall Instructions below to uninstall these pre-release bits before installing the Microsoft .NET Framework CTP. You must remove them in the correct order to ensure a clean uninstall.&#8221; There is a special download that can remove the beta software for you, see the end of the post for a detailed view of how it works.</p>
<h3>Silently Installing .Net3</h3>
<p>A silent install of .NET 3 is quite simple. Create a <a href="http://sojoe.info/2006/03/27/how-to-create-a-text-file/">text file</a> called <em>install.bat</em> in the same folder as the <em>dotnetfx3setup.exe</em> file and add the following code to it:<br />
<code>@ECHO OFF</code><br />
<code>ECHO Installing DotNet 3</code></p>
<p><code>start /wait dotnetfx3setup.exe /q /norestart</code></p>
<p><code>exit</code></p>
<p>The batch file is very basic. The first two lines turn off echo, so it doesn&#8217;t show every single thing that happens on the screen, and then add the text to tell you what is installing. The next line is of course the main one. The <em>start /wait</em> part tells the script to wait until this part is done before moving on to the next part. Their isn&#8217;t a next part at this time, but soon their will be hotfixes for .NET3, and you&#8217;ll want to add them to your script, and of course you&#8217;ll want the script to wait until each part is finished before proceeding. Finally, the script ends with an <em>exit</em> to tell the window to close.</p>
<p>Here&#8217;s the screens you&#8217;ll be missing if you run your install silently:<br />
<img src="/wp-images/posts/06_12/net3-a.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-b.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-c.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-d.jpg" alt="" /></p>
<h3>Extra Stuff</h3>
<p>When hotfixes become available, you can download them and add them to this script. Simply add the hotfix download to the same directory as the install.bat file, and add the following line before the <em>exit</em> line, but after the line for the main install:<br />
<code> start /wait filename.exe /q</code><br />
Replace the <em>filename.exe</em> part with the actual name of the file you downloaded (will probably look something like <em>NDP30-KB12345-X86.exe</em>).</p>
<h3>Uninstalling Beta and RC Software</h3>
<p>If you had a beta or RC version of .NET 3 installed previously, you will need to remove it first (the installer will stop if it detects an older version, as shown in the image below).<br />
<img src="/wp-images/posts/06_12/net3-1.jpg" alt="" /><br />
Microsoft has instructions on how to do this manually, but they&#8217;ve also created an application called Pre-released Microsoft .NET Framework 3.0 Uninstall Tool to do it for you. You can download it at <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&amp;displaylang=envs_uninst_w" class="autohyperlink" title="http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&amp;displaylang=envs_uninst_w" target="_blank">www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&amp;displaylang=envs_uninst_w</a></p>
<p>The uninstaller (the filename is <em>vs_uninst_winfx.exe</em>) does have command line switches as well, so you could even add that to the beginning of your script to first uninstall the old version, then install the new one:</p>
<ul>
<li><strong>/Q</strong> &#8211; Quiet modes for package</li>
<li><strong>/T:</strong> &#8211; Specifies temporary working folder</li>
<li><strong>/C</strong> &#8211; Extract files only to the folder when used also with /T</li>
<li><strong>/C:</strong> &#8211; Override install command defined by author</li>
</ul>
<p>So, if you added <code>start /wait vs_uninst_winfx.exe /Q</code> before the main line in your script, it should uninstall the old version first before installing the new one (I don&#8217;t have the old version of the software anymore so I can&#8217;t test this).</p>
<p>If you run it normally, here&#8217;s the screens you will see:<br />
<img src="/wp-images/posts/06_12/net3-2.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-3.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-4.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-5.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-6.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-7.jpg" alt="" /></p>
<p><img src="/wp-images/posts/06_12/net3-8.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/12/how-to-install-microsoft-net-framework-30-silently/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>A Step-by-Step Guide to Silently Installing and Configuring Adobe Reader 8</title>
		<link>http://sojoe.info/2006/12/a-step-by-step-guide-to-silently-installing-and-configuring-adobe-reader-8/</link>
		<comments>http://sojoe.info/2006/12/a-step-by-step-guide-to-silently-installing-and-configuring-adobe-reader-8/#comments</comments>
		<pubDate>Sat, 09 Dec 2006 07:00:44 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/2006/12/09/a-step-by-step-guide-to-silently-installing-and-configuring-adobe-reader-8/</guid>
		<description><![CDATA[This is part of my series on How to Install Windows Applications Silently. With Adobe recently releasing version 8 of Reader, it&#8217;s time to prepare it for inclusion in the images I create for distribution to my users machines. I like to assemble an &#8216;unattended&#8217; or &#8216;silent&#8217; install of the package that includes every alteration [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is part of my series on <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a>.</p></blockquote>
<p><span class="dropcap">W</span>ith Adobe recently releasing version 8 of Reader, it&#8217;s time to prepare it for inclusion in the images I create for distribution to my users machines. I like to assemble an &#8216;unattended&#8217; or &#8216;silent&#8217; install of the package that includes every alteration I might normally want to make so from that point forward I only need to double-click and the install is done perfectly every time. You&#8217;ll want to read my article &#8220;<a href="http://sojoe.info/2006/03/16/a-guide-to-installing-windows-applications-silently/">A Guide to Installing Windows Applications Silently</a>&#8221; to get instructions on the basic groundwork you should layout first. <span id="more-231"></span></p>
<p>You&#8217;ll need to create a folder to hold the distribution. If you followed the instructions in the intro article, you&#8217;ll already have an %APPS% folder. Create a directory called <strong>Reader8</strong> inside your %APPS% directory. You can then download Reader from Adobe <a href="http://www.adobe.com/products/acrobat/readstep2.html">here</a>, saving it to the Reader8 folder. I&#8217;m using the English 32-bit version for Windows XP SP2 (the file is called <i>AdbeRdr80_en_US.exe</i>), if you are using a different version, it&#8217;s possible their could be some differences in how the install works.</p>
<p>Create a text file called <strong>Install.bat</strong> in your Reader8 directory (see my article &#8220;<a href="http://sojoe.info/2006/03/27/how-to-create-a-text-file.html">How to Create a Text File</a>&#8221; for tips on how to do this). In this text file, place the following:</p>
<pre>
<code>
@ECHO OFF
ECHO Installing Adobe Reader 8

start /wait AdbeRdr80_en_US.exe /sAll

:: Begin cleaning up shortcuts
	del "%allusersprofile%Start MenuProgramsStartupAdobe Reader Speed Launch.lnk"
	del "%allusersprofile%Start MenuProgramsStartupAdobe Reader Synchronizer.lnk"
	del "%allusersprofile%DesktopAdobe Reader 8.lnk"
:: End cleaning up shortcuts

:: Begin adding HKLM settings to registry
	reg add "HKLMSOFTWAREAdobeAcrobat Reader8.0AdobeViewer" /v EULA /t REG_DWORD /d 00000001 /f
	reg add "HKLMSOFTWAREAdobeAcrobat Reader8.0AdobeViewer" /v Launched /t REG_DWORD /d 00000001 /f
	reg add "HKLMSOFTWAREAdobeAcrobat Reader8.0Downtown" /v bDontShowAtLaunch /t REG_DWORD /d 00000001 /f
:: End adding HKLM settings to registry

:: Begin Copy Adobe Updater preference file to all profiles
	for /f "tokens=* delims=," %%a in ('dir %systemdrive%docume~1 /b /ad') do call :process "%%a"
	goto :eof

	:process
	if [%1]==["All Users"] goto :eof
	if [%1]==["LocalService"] goto :eof
	if [%1]==["NetworkService"] goto :eof
	xcopy AdobeUpdaterPrefs.dat "%systemdrive%Documents and Settings%~1Local SettingsApplication DataAdobeUpdater5" /Y/I
:: End Copy Adobe Updater preference file to all profiles

exit
</code>
</pre>
<p>Only one line from the script is required to do a silent install of Reader 8, the rest are there to alter the installation to suit my needs. I&#8217;ll explain what everything is for, and you can decide if you want to keep it or toss it.</p>
<p>The first line simply says not to echo every single event back to the command prompt screen when the script runs. The second line prints &#8220;Installing Adobe Reader 8&#8243; in the window so a viewer can tell what the window is there for.  The next line is the one that installs Reader. the <i>start /wait</i> part tells the command to wait until it&#8217;s finished before moving on to the rest of the script. This is important as some of the other commands won&#8217;t work unless the Reader installation is finished. The <i>/sAll</i> part is a switch to tell the program to install silently with the default options. The other available switches are:</p>
<ul>
<li>/sPB &#8211; silent mode with progress bar</li>
<li>/rs &#8211; reboot suppress</li>
<li>/rps &#8211; reboot prompt suppress</li>
<li>/ini &#8220;path&#8221; &#8211; alternative initialization file</li>
<li>/sl &#8220;lang_id&#8221; &#8211; set language</li>
<li>/l &#8211; enable error logging</li>
<li>/msi [command line] &#8211; parameters for MSIEXEC</li>
</ul>
<p>Once it finishes, I use the next section of the script to clean up the shortcuts. I prefer not to have the software load when Windows starts, so the first two lines remove shortcuts from the <i>Startup</i> folder. <i>Speed Launch</i> pre-loads Reader every time you start your machine, so it comes up on the screen faster when you need it, but takes up some of your RAM all the time, which I don&#8217;t like. Synchronizer is new in this version, and though I can&#8217;t find info on what it does, I suspect it&#8217;s related to the new <i>work flow</i> feature, which I don&#8217;t have a need for. The third shortcut is the one Reader creates on the desktop. I prefer a clean desktop, so I delete this one as well.</p>
<p>Thanks to a tip in the comments, I&#8217;ve simplified the next section. It previously had you put the following code in the script above where the HKLM code now sits:</p>
<pre><code>
:: Begin adding HKCU settings to all profiles
	regedit /s HKCU.reg
	copy HKCU.reg %temp%HKCU.reg /Y
	start /wait ..changeHKCU.vbs
	start /wait ..ModifyProfile /PROFILE:all /REG:%temp%HKCU.reg /KEYNAME:TempHive
	del %temp%HKCU.reg
:: End adding HKCU settings to all profiles
</code></pre>
<p>These settings will prevent the user agreement from popping up for every user, and stop the &#8216;Beyond Adobe Reader&#8217; window from popping up every time as well. As the comment points out, you can put the registry changes in the same location of HKLM that I was putting in HKCU. This simplifies the process, not requiring an additional file to be created, or the support vb scripts to exist. For the sake of completeness, here is the text explaining the replaced code that is no longer needed:</p>
<blockquote><p>
The next section sets some preferences in the users registry settings. To do this, you&#8217;ll need to create another text file in the Reader8 folder. Create <strong>HKCU.reg</strong> and put the following contents inside:</p>
<pre><code>
REGEDIT4

[HKEY_CURRENT_USERSoftwareAdobeAcrobat Reader8.0AdobeViewer]
"EULA"=dword:00000001
"Launched"=dword:00000001

[HKEY_CURRENT_USERSoftwareAdobeAcrobat Reader8.0Downtown]
"bDontShowAtLaunch"=dword:00000001
</code></pre>
<p>Applying these settings will prevent the user agreement from popping up for every user, and stop the &#8216;Beyond Adobe Reader&#8217; window from popping up every time as well. The Install.bat file first adds these settings to the registry of the person running the script, then the extra tools you put in your %APPS% folder from the <a href="http://sojoe.info/2006/03/16/a-guide-to-installing-windows-applications-silently/">Guide</a> article will apply the settings to all other users profiles, including the &#8216;default&#8217; profile, so future users will get the settings as well.
</p></blockquote>
<p>The next section of the Install.bat file is used to disable automatic updates. In my environment, users don&#8217;t have rights to install applications, so they can&#8217;t apply updates to software either. No need for them to be bothered by update notifications then, so I disable updates, not only for Reader, but for all Adobe software (they now have an update program that is shared by most of their software). You&#8217;ll need to create another text file in your Reader8 folder, this one called <strong>AdobeUpdaterPrefs.dat</strong>. In this file, place the following code:</p>
<pre><code>
&lt;?xml version="1.0" encoding="UTF-8" ?&gt;

&lt;AdobeUpdater&gt;
&lt;logFile&gt;%temp%AdobeUpdater5aum.log&lt;/logFile&gt;
&lt;logLevel&gt;2&lt;/logLevel&gt;
&lt;SilentCheck&gt;0&lt;/SilentCheck&gt;
&lt;Launch&gt;&lt;/Launch&gt;
&lt;IsFirstRun&gt;0&lt;/IsFirstRun&gt;
&lt;InTrayIcon&gt;0&lt;/InTrayIcon&gt;
&lt;LastDateCheck&gt;2006-12-06&lt;/LastDateCheck&gt;
&lt;InBackground&gt;0&lt;/InBackground&gt;
&lt;DownloadDir&gt;%temp%AdobeUpdater5&lt;/DownloadDir&gt;
&lt;ShowNewProducts&gt;0&lt;/ShowNewProducts&gt;
&lt;AutoCheck&gt;0&lt;/AutoCheck&gt;
&lt;AutoCheckType&gt;0&lt;/AutoCheckType&gt;
&lt;AutoCheckFreq&gt;1&lt;/AutoCheckFreq&gt;
&lt;ApplicationsEnabled&gt;
&lt;MapPrefEntry MapPrefKey="reader8rdr-en_US"&gt;0&lt;/MapPrefEntry&gt;
&lt;/ApplicationsEnabled&gt;
&lt;/AdobeUpdater&gt;

</code></pre>
<p>This is the preference file that is created the first time the Adobe Updater is run. I&#8217;ve customized it slightly, changing the path for the log file and for the download location so the same file will work for all users. I then change the <code>&lt;AutoCheck&gt;</code> setting to 0, so the updater doesn&#8217;t run. Note that if you use this section of the Install.bat file and a user already has an Adobe product installed, the preference file for their updater will be overwritten and set to not update. Again, in my environment this is desirable but if you&#8217;d prefer to receive updates, just delete that section of the Install.bat file, and you won&#8217;t need the AdobeUpdaterPrefs.dat file.</p>
<p>With the preference file in place, the rest of that section of the Install.bat file looks at all the available profiles on that computer and copies the preference file to each.</p>
<p>So, when you are done, you should have four files in your Reader8 directory:</p>
<ul>
<li>AdbeRdr80_en_US.exe</li>
<li>AdobeUpdaterPrefs.dat</li>
<li>HKCU.reg</li>
<li>Install.bat</li>
</ul>
<p>Now simply launch Install.bat by double-clicking it, or by calling it from another script, and Adobe Reader 8 will silently install on your computer, and perfectly configure itself to your preferences every time.</p>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/12/a-step-by-step-guide-to-silently-installing-and-configuring-adobe-reader-8/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>Silent Install of MS .Net Framework Version 2</title>
		<link>http://sojoe.info/2006/11/silent-install-of-ms-net-framework-version-2/</link>
		<comments>http://sojoe.info/2006/11/silent-install-of-ms-net-framework-version-2/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 20:20:43 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/2006/11/01/silent-install-of-ms-net-framework-version-2/</guid>
		<description><![CDATA[This is part of my series on How to Install Windows Applications Silently. Many applications now require Microsoft .NET Framework Version 2.0 (I&#8217;ll call it .NET2 for short), and it is one of the recommended updates if you go to Windows Update or Microsoft Update. If you&#8217;re building a silent distribution of Windows XP, or [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is part of my series on <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a>.</p></blockquote>
<p>Many applications now require Microsoft .NET Framework Version 2.0 (I&#8217;ll call it .NET2 for short), and it is one of the recommended updates if you go to Windows Update or Microsoft Update. If you&#8217;re building a silent distribution of Windows XP, or any applications to install on Windows XP, then you&#8217;ll want to be able to silently install .NET2. Following are instructions on one way of doing this (their&#8217;s always another way).<br />
<span id="more-200"></span><br />
First, you&#8217;ll need to download .NET2 from Microsoft. All of the links to downloads assume you are using the more common 32-bit version of the English version of Windows XP.  You can get the download here:</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;DisplayLang=en" class="autohyperlink" title="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;DisplayLang=en" target="_blank">www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&#038;DisplayLang=en</a></p>
<p>By default, double-clicking the dotnetfx.exe file you downloaded will unpack it to a temp directory, and then give you an interface to click through for the installation. We don&#8217;t want to have to click all those buttons, we&#8217;d prefer a silent installation. The available command-line switches for this download are:</p>
<ul>
<li>/Q   Quiet modes for package</li>
<li>/T:<full path>   Specifies temporary working folder</li>
<li>/C   Extract files only to the folder when used also with /T</li>
<li>/C:<Cmd>   Override Install Command defined by author</li>
</ul>
<p>I originally didn&#8217;t know how to get the downloaded file to install silently by itself, so in the blockquote below you&#8217;ll see instructions on how to extract the file and then install the components silently. Thankfully, a reader suggested a command-line that works with the original downloaded file, so I&#8217;ll explain the simpler method instead, as the process is much easier. I&#8217;ve retained the original instructions below in blockquote in case something in that method lends itself to your particular situation.</p>
<p>So, you&#8217;ve got the dotnetfx.exe file, now we need to tell it how to install silently. You could use the &#8216;Run&#8217; command under the Start Menu to do this, but you&#8217;d have to type the full command in each time you wanted to do an install, which isn&#8217;t going to save much time. Instead, let&#8217;s create a batch file that we can simply double-click, and the rest will happen silently. We&#8217;re going to want to have all the necessary files together in one directory, so create a directory called &#8216;dotnet2&#8242; (you can use a different name, and put it in any location that is convenient). </p>
<p>So, in the &#8216;dotnet2&#8242; directory, right-click on a blank spot and from the pop-up menu choose  &#8216;New&#8217; and then &#8216;Text Document&#8217;. A file will be created and will want you to name it, call it &#8216;Install.bat&#8217;. You&#8217;ll be asked if you&#8217;re sure you want to change the extension, answer &#8216;Yes&#8217;. Now, right-click the Install.bat file you just created and choose &#8216;Edit&#8217;. A blank window will open, probably Notepad, where you can now type in the commands you want to include.</p>
<p>I generally start my batch files with some text that will appear on the script window explaining what&#8217;s going on, so I&#8217;ll start with this:</p>
<p><code>
@ECHO OFF
ECHO Installing DotNet 2
</code></p>
<p>The first line tells the window not to show ever single step we take, and the second shows the text &#8216;Installing DotNet 2&#8242;.</p>
<p>Next, we&#8217;ll tell the install file to run. As long as the Install.bat file is in the same directory as the install.exe file, we don&#8217;t need to specify the path:</p>
<p><code>start /wait dotnetfx.exe /q:a /c:"install.exe /q"</code></p>
<p>Notice that I used the /q switch, which initiates the &#8216;quiet mode&#8217;, and the /c switch to pass along a command line switch to the files which will be extracted, so the magic part that wasn&#8217;t clear from the start was the additional &#8216;:a&#8217; following the /q switch. The &#8216;start /wait&#8217; part simply tells the window to stay open until the installation is finished, which is useful if you want to know if it&#8217;s still running, and also useful if you&#8217;ll be doing anything else with the script after the installation. What, you thought this was it? Nope, their&#8217;s more. You now have a script that will install .NET2 silently on any machine, but their are patches available for .NET which should be applied as well. As I write this, their are two patches available:</p>
<ul>
<li>KB917283</li>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=56A1777B-9758-489F-8BE8-5177AAF488D1&amp;displaylang=en" class="autohyperlink" title="http://www.microsoft.com/downloads/details.aspx?familyid=56A1777B-9758-489F-8BE8-5177AAF488D1&amp;displaylang=en" target="_blank">www.microsoft.com/downloads/details.aspx?familyid=56A1777B-9758-489F-8BE8-5177AAF488D1&#038;displaylang=en</a></li>
<li>Download NDP20-KB917283-X86.exe</li>
</ul>
<li>KB922770</li>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=34C375AA-2F54-4416-B1FC-B73378492AA6&amp;displaylang=en" class="autohyperlink" title="http://www.microsoft.com/downloads/details.aspx?familyid=34C375AA-2F54-4416-B1FC-B73378492AA6&amp;displaylang=en" target="_blank">www.microsoft.com/downloads/details.aspx?familyid=34C375AA-2F54-4416-B1FC-B73378492AA6&#038;displaylang=en</a></li>
<li>Download NDP20-KB922770-X86.ex</li>
</ul>
</ul>
<p>These files have the following command-line switches:</p>
<ul>
<li>/extract <directory>   Extract files to the directory specified</li>
<li>/q   Quiet install mode</li>
</ul>
<p>The &#8216;Quiet mode&#8217; does work on these, so the process is pretty simple, just run each of the exe&#8217;s with the /q switch, and you are just about done. All you need to do is add one more command to tell the command window to go away when it&#8217;s done. Just add an &#8216;exit&#8217; at the end.</p>
<p>So, your final Install.bat script will probably look like this:</p>
<p><code>@ECHO OFF</code><br />
<code>ECHO Installing DotNet 2</code></p>
<p><code>start /wait dotnetfx.exe /q:a /c:"install.exe /q"</code></p>
<p><code>start /wait NDP20-KB917283-X86.exe /q</code><br />
<code>start /wait NDP20-KB922770-X86.exe /q</code></p>
<p><code>exit</code></p>
<p>Copy your dotnet2 folder to a network share, or throw it on a CD or thumbdrive and all you need to do is double-click the Install.bat file or call it from another batch file and Microsoft .NET Framework Version 2.0 will silently install with patches on that computer. When the black command window disappears, it&#8217;s installed.</p>
<p>Here&#8217;s the previous method, which works, but is a little more complicated:</p>
<blockquote><p>
Notice their is a switch for &#8216;Quiet mode&#8217;, which you&#8217;d think would be the same as &#8216;Silent Install&#8217;, but if you try it, you&#8217;ll find you get the same prompts as a normal installation. So, what we&#8217;ll need to do is extract the files from this download. You can do this by using the /C and /T switches. Probably the easiest way to do this part is to go to your Start Menu and choose &#8216;Run&#8217;. When the run window opens, clear any text that might be in the &#8216;Open&#8217; field, and then drag the dotnetfx.exe file into it, which will automatically type in the path to the file (you can also use the browse button to go find it). Now, before you click &#8216;OK&#8217;, add the following after the name of the file &#8221; /C /T:c:dotnet2&#8243;.  If you had downloaded the dotnetfx.exe file to your desktop, you&#8217;re Run box whould look something like this:</p>
<blockquote><p>&#8220;C:Documents and SettingsusernameDesktopdotnetfx.exe&#8221; /C /T:c:dotnet2</p></blockquote>
<p>Click OK and this will instruct the file to expand to a directory on your C: drive named &#8216;dotnet2&#8242;. You can change the &#8216;c:dotnet2&#8242; part to any location that is convenient, but if it contains spaces you&#8217;ll need to wrap it in quotes.</p>
<p>So, now you&#8217;ve got a bunch of files at c:dotnet2. Open that directory and you&#8217;ll see one of the files is named &#8216;Install.exe&#8217;. That&#8217;s the file we&#8217;ll be using to do our silent installation. It has some command-line switches as well:</p>
<ul>
<li>/l   Name of verbose msi log</li>
<li>/lang <xxxx>   4-digit language code</li>
<li>/q   Quiet install mode</li>
<li>/qu   Quiet uninstall mode</li>
</ul>
<p>The /q switch is the one we&#8217;re looking for. Now we could use the &#8216;Run&#8217; command to do this, but it would only help us on this one machine. If we want a hands-off approach on other machines as well, we&#8217;ll want to create a script to tell the install.exe file what to do. So, in the &#8216;c:dotnet2&#8242; directory, right-click on a blank spot and from the pop-up menu choose  &#8216;New&#8217; and then &#8216;Text Document&#8217;. A file will be created and will want you to name it, call it &#8216;Install.bat&#8217;. You&#8217;ll be asked if you&#8217;re sure you want to change the extension, answer &#8216;Yes&#8217;. Now, right-click the Install.bat file you just created and choose &#8216;Edit&#8217;. A blank window will open, probably Notepad, where you can now type in the commands you want to include.</p>
<p>I generally start my batch files with some text that will appear on the script window explaining what&#8217;s going on, so I&#8217;ll start with this:</p>
<p><code>
@ECHO OFF
ECHO Installing DotNet 2
</code></p>
<p>The first line tells the window not to show ever single step we take, and the second shows the text &#8216;Installing DotNet 2&#8242;.</p>
<p>Next, we&#8217;ll tell the install file to run. As long as the Install.bat file is in the same directory as the install.exe file, we don&#8217;t need to specify the path:</p>
<p><code>start /wait install.exe /q</code></p>
<p>The &#8216;start /wait&#8217; part simply tells the window to stay open until the installation is finished, which is useful if you want to know if it&#8217;s still running, and also useful if you&#8217;ll be doing anything else with the script after the installation. What, you thought this was it? Nope, their&#8217;s more. You now have a script that will install .NET2 silently on any machine, but their are patches available for .NET which should be applied as well. As I write this, their are two patches available:</p>
<ul>
<li>KB917283</li>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=56A1777B-9758-489F-8BE8-5177AAF488D1&amp;displaylang=en" class="autohyperlink" title="http://www.microsoft.com/downloads/details.aspx?familyid=56A1777B-9758-489F-8BE8-5177AAF488D1&amp;displaylang=en" target="_blank">www.microsoft.com/downloads/details.aspx?familyid=56A1777B-9758-489F-8BE8-5177AAF488D1&#038;displaylang=en</a></li>
<li>Download NDP20-KB917283-X86.exe</li>
</ul>
<li>KB922770</li>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=34C375AA-2F54-4416-B1FC-B73378492AA6&amp;displaylang=en" class="autohyperlink" title="http://www.microsoft.com/downloads/details.aspx?familyid=34C375AA-2F54-4416-B1FC-B73378492AA6&amp;displaylang=en" target="_blank">www.microsoft.com/downloads/details.aspx?familyid=34C375AA-2F54-4416-B1FC-B73378492AA6&#038;displaylang=en</a></li>
<li>Download NDP20-KB922770-X86.ex</li>
</ul>
</ul>
<p>These files have the following command-line switches:</p>
<ul>
<li>/extract <directory>   Extract files to the directory specified</li>
<li>/q   Quiet install mode</li>
</ul>
<p>The &#8216;Quiet mode&#8217; does work on these, so the process is pretty simple, just run each of the exe&#8217;s with the /q switch, and you are just about done. All you need to do is add one more command to tell the command window to go away when it&#8217;s done. Just add an &#8216;exit&#8217; at the end.</p>
<p>So, your final Install.bat script will probably look like this:</p>
<p><code>
@ECHO OFF
ECHO Installing DotNet 2

start /wait install.exe /q

start /wait NDP20-KB917283-X86.exe /q
start /wait NDP20-KB922770-X86.exe /q

exit
</code></p>
<p> Copy your c:dotnet2 folder to a network share, or throw it on a CD or thumbdrive and all you need to do is double-click the Install.bat file or call it from another batch file and Microsoft .NET Framework Version 2.0 will silently install with patches on that computer. When the black command window disappears, it&#8217;s installed.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/11/silent-install-of-ms-net-framework-version-2/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Adobe Reader Silent Install</title>
		<link>http://sojoe.info/2006/04/adobe-reader-silent-install/</link>
		<comments>http://sojoe.info/2006/04/adobe-reader-silent-install/#comments</comments>
		<pubDate>Thu, 20 Apr 2006 16:15:18 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/2006/04/20/adobe-reader-silent-install.html</guid>
		<description><![CDATA[Adobe Reader (formerly Acrobat Reader) is pretty much required software on every PC these days. This tutorial assumes you&#8217;ve already read the initial article &#8220;A Guide to Installing Windows Applications Silently&#8221; and have followed the setup instructions it contains. Begin by creating a directory called AdobeReader in your %APPS% folder. Next, go to the Adobe [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe Reader (formerly Acrobat Reader) is pretty much required software on every PC these days. This tutorial assumes you&#8217;ve already read the initial article <a href="http://sojoe.info/2006/03/16/a-guide-to-installing-windows-applications-silently/">&#8220;A Guide to Installing Windows Applications Silently&#8221;</a> and have followed the setup instructions it contains. </p>
<p>Begin by creating a directory called <strong>AdobeReader</strong> in your %APPS% folder. Next, go to <a href="http://adobe.com/products/acrobat/readstep2.html">the Adobe Reader download page</a> to download the Adobe Reader software. You have the option of also downloading &#8216;Adobe Yahoo! Toolbar&#8217; and &#8216;Adobe Photoshop Album Starter Edition&#8217;. I prefer to just have one install at a time, and don&#8217;t have a need for those two packages, so this tutorial will only include the bare Adobe Reader install (uncheck the extra download options). At this writing, the available package is version 7.0.7 for Windows XP, if you&#8217;re downloading a different version, some of the file names listed below may need to be adjusted to match what you&#8217;re downloading. Save the download to any location you&#8217;d like, it doesn&#8217;t need to be in your %APPS%\AdobeReader directory (in fact, it&#8217;s probably best not to save it there as it won&#8217;t actually be needed for the future silent installs). <span id="more-112"></span></p>
<p>Once you&#8217;ve downloaded the package (mine is called &#8216;AdbeRdr707_DLM_en_US.exe&#8217;), double-click it and it will use the Adobe Download Manager to collect the required pieces from Adobe (you will need an active internet connection). You&#8217;ll then see a Fead Optimizer window doing some setup work, and will eventually get a &#8216;Welcome to Setup for Adobe Reader&#8217; screen. You may be thinking at this point &#8216;Hey, this isn&#8217;t very silent&#8217;. You&#8217;d be right, because we haven&#8217;t gotten that far yet. What we do now is retrieve the files necessary to do the silent install, which weren&#8217;t available until this point. You can cancel the installer, we don&#8217;t really need to go any further with it, it&#8217;s job was simply to get the files for us. </p>
<p>Go to the folder that was just created by the installer (probably C:\Program Files\Adobe\Acrobat 7.0) and inside you&#8217;ll see a folder called <strong>Setup Files</strong>, which contains a folder called <strong>RdrBig707</strong>. Inside that is a folder called <strong>ENU</strong> which contains the installation files for Adobe Reader. Copy the files <strong>Adobe Reader 7.0.7.msi</strong> and <strong>Data1.cab</strong> to your %APPS%\AdobeReader directory. If you like to keep things clean, at this point you can delete the initial installer file you downloaded, as well as the directories the installer just created, all we need is the two files in your %APPS%\AdobeReader directory.</p>
<p>Now that we have the install files ready, we can create the script.  Create a text file ((http://sojoe.info/2006/03/27/how-to-create-a-text-file.html)) called <strong>Install.bat</strong> in your %APPS%\AdobeReader directory. In the text file, place the following:</p>
<blockquote><p><code>
@ECHO OFF
ECHO Installing Acrobat Reader 7

start /wait msiexec /qb- /i "Adobe Reader 7.0.7.msi"

copy HKCU.reg %temp%\HKCU.reg /Y
start /wait ..\changeHKCU.vbs
start /wait ..\ModifyProfile /PROFILE:all /REG:%temp%\HKCU.reg /KEYNAME:TempHive
del %temp%\HKCU.reg

del "%allusersprofile%\desktop\adobe Reader 7.0.lnk"
del "%allusersprofile%\Start Menu\Programs\Startup\Adobe Reader Speed Launch.lnk"
exit
</code></p></blockquote>
<p>Here&#8217;s what the script does, you can remove any lines that are not necessary in your situation:</p>
<ol>
<li>Don&#8217;t echo every line to the screen</li>
<li>Echo a description of the purpose of the script</li>
<li>Run the Adobe Reader msi installer in quiet mode</li>
<li>The next four lines enable you to bypass the &#8216;Please accept this license&#8217; screen that every user would normally get the first time they open the program. To use this you&#8217;ll need to create a text file called HKCU.reg in your %APPS%\AdobeReader directory that contains the following code:<br />
<blockquote><p>
REGEDIT4</p>
<p>[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\7.0\AdobeViewer]<br />
&#8220;EULA&#8221;=dword:00000001
</p></blockquote>
</li>
<li>Delete the Adobe Reader desktop icon</li>
<li>Delete the Adobe Reader Speed Launcher icon from the startup folder (so it doesn&#8217;t automatically start every time you login)</li>
<li>Exit from the script</li>
</ol>
<p>That&#8217;s it. You should now have an applicaton distribution directory that contains the following files:</p>
<ul>
<li>Adobe Reader 7.0.7.msi</li>
<li>Data1.cab</li>
<li>HKCU.reg</li>
<li>Install.bat</li>
</ul>
<p>Now simply launch <strong>Install.bat</strong> by double-clicking it, or by calling it from another script, and Adobe Reader will silently install on your computer.</p>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/04/adobe-reader-silent-install/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>How to Create a Text File</title>
		<link>http://sojoe.info/2006/03/how-to-create-a-text-file/</link>
		<comments>http://sojoe.info/2006/03/how-to-create-a-text-file/#comments</comments>
		<pubDate>Mon, 27 Mar 2006 20:08:14 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/?p=83</guid>
		<description><![CDATA[This is part of my series on How to Install Windows Applications Silently. Often times their will be a need for you to create a &#8216;text&#8217; file. This may be used to craft a &#8216;reg&#8217; file, an &#8216;ini&#8217; file, a &#8216;bat&#8217; file, or just a simple &#8216;txt&#8217; text file. This is very easy to do, [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is part of my series on <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a>.</p></blockquote>
<p>Often times their will be a need for you to create a &#8216;text&#8217; file. This may be used to craft a &#8216;reg&#8217; file, an &#8216;ini&#8217; file, a &#8216;bat&#8217; file, or just a simple &#8216;txt&#8217; text file. This is very easy to do, and their are many ways to do it, but also a few methods to avoid. When considering which tool to use to create your text file, consider that many of the processes that may make use of that text file require that the file be &#8216;text only&#8217;, and won&#8217;t work properly if the file contains anything more. What this means is files created with programs capable of producing more than just ASCII characters may create a file that is not truly &#8216;text only&#8217;.  <span id="more-83"></span></p>
<p>For example, if you use Microsoft Word, and simply type in plain text and save it, by default that file is not &#8216;text only&#8217;. You would need to do a &#8216;Save As&#8230;&#8217; and choose &#8216;Plain Text (*.txt)&#8217; as the file type for it to be text only. To avoid problems, I use the most simple program I can to create text files, one not capable of producing formatting and other content that text-only files cannot contain. My editor of choice is &#8216;Notepad&#8217;. </p>
<p>One way to create a new text file with Notepad is to go under the <em>Start Menu</em> to <em>Programs </em>and then <em>Accessories </em>and choose <em>Notepad</em>. This will start the program with a new text file window for you to type in. When you are ready to save the file, you should then type in the full name of the file you wish to create, which will add the proper extension (eg. text.bat). If you only type in the name, without an extension, the file will automatically have &#8216;.txt&#8217; added to the name. </p>
<p>Another way to create a text file with Notepad is to right-click in the Explorer window where you want the file to exist, and choose <em>New </em>and then <em>Text Document</em>, which will create a file in that directory, and immediately prompt you to enter a name. Enter the full name of the file you wish to create, including the extension. If you enter an extension other than &#8216;.txt&#8217; you will be prompted whether you want to change the extension of the file (since by default it would be .txt), go ahead and answer <em>Yes</em>. Once the blank file is created, you can then open it to add content.</p>
<p>Once you&#8217;ve created a file, using either one of these methods, or a number of other available options, you may not be able to double-click the file to edit it. For example, if the file ends with &#8216;.bat&#8217; double clicking will try to execute the file, since .bat files are batch scripts. Double-clicking a .reg file will try to add it to the registry, since .reg is assigned to the Registry Editor program.  To edit the file (ini, reg, bat, cmd, vbs, inf, and many other types) you can right click on the file and choose the <em>Edit </em>option from the menu. If this doesn&#8217;t open the file in Notepad, close whichever program opened, and instead you may be able to right-click on the file and choose <em>Open With&#8230;</em> which should allow you to choose <em>Notepad </em>from a list of programs. Finally, if neither of these methods work, open Notepad and use the <em>Open </em>command to go locate the file (you&#8217;ll need to change the <em>Files of Type</em> setting to <em>All Files </em>to see files that don&#8217;t end with .txt).</p>
<p>Another problem you can run into, even with Notepad, is that some programs will save a text-only file with &#8216;unicode&#8217; characters, while other programs may not be able to understand unicode. To fix this, open the text file in Notepad, go to <em>Save As&#8230; </em>and change the <em>Encoding </em>setting at the bottom of the window to <em>ANSI</em>. Keep in mind that this could alter the file in a negative way (eg could strip out foreign language characters), but should allow any program to open it properly.</p>
<p>Following these steps should allow you to create any type of text-only file that you need in the process of creating your silent-installation packages.</p>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/03/how-to-create-a-text-file/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Exporting a Registry Key</title>
		<link>http://sojoe.info/2006/03/exporting-a-registry-key/</link>
		<comments>http://sojoe.info/2006/03/exporting-a-registry-key/#comments</comments>
		<pubDate>Mon, 20 Mar 2006 16:48:31 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/?p=63</guid>
		<description><![CDATA[This is part of my series on How to Install Windows Applications Silently. The registry is used in Windows to store configuration information. The registry contains &#8216;Hives&#8217; which are like database files that each focus on a different catagory of settings, and each hive contains keys, which may have subkeys, which have values associated with [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is part of my series on <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a>.</p></blockquote>
<p>The registry is used in Windows to store configuration information. The registry contains &#8216;Hives&#8217; which are like database files that each focus on a different catagory of settings, and each hive contains keys, which may have subkeys, which have values associated with them.Their are many occassions when you may want to &#8216;pre-populate&#8217; a registry key, change an existing key, or even remove an existing key for an application you are installing. An example would be a program that stores it&#8217;s licensing information in the registry. Instead of having to manually type in the serial number each time you install a program, do this once, and then find where that registry key is stored, and copy it. You can then pre-populate this key when you install the program, saving yourself the hastle of tracking down the information and entering it by hand. <span id="more-63"></span></p>
<p>The most common interface for dealing with the registry is through a program called &#8220;Registry Editor&#8221;, which is a part of Windows. Before we go any further, I need to tell you what Microsoft always makes clear when dealing with the registry:</p>
<blockquote><p>&#8220;If you use Registry Editor incorrectly, you can cause serious problems that may require you to reinstall your operating system. Microsoft does not guarantee that problems that you cause by using Registry Editor incorrectly can be resolved. Use Registry Editor at your own risk.&#8221;</p></blockquote>
<p>So, be careful! Simply exporting settings won&#8217;t hurt anything, but if you change or delete the wrong settings you can do harm. All of the settings I&#8217;ll suggest you change SHOULD be safe, I&#8217;ve done them myself on machines I work with, but all systems can be a bit different, and I cannot guarantee that they will work on yours, so first PLEASE test these settings on a non-production machine, in case something doesn&#8217;t work correctly. With all of that said, one way to start the Registry Editor is to open the &#8216;Start&#8217; menu, choose &#8216;Run&#8230;&#8217;, type &#8220;Regedit&#8221; (without the quotes), and click &#8216;OK&#8217;. The Registry Editor will open on your screen, and will show you an expanding tree of folders representing the different hives in the registry. Here&#8217;s a brief description of the five hives: ((http://support.microsoft.com/kb/256986/EN-US/))</p>
<blockquote><p><strong>HKEY_CURRENT_USER</strong><br />
Contains the root of the configuration information for the user who is currently logged on. The user&#8217;s folders, screen colors, and Control Panel settings are stored here. This information is associated with the user&#8217;s profile. This key is sometimes abbreviated as &#8220;HKCU.&#8221;</p>
<p><strong>HKEY_USERS</strong><br />
Contains all the actively loaded user profiles on the computer. HKEY_CURRENT_USER is a subkey of HKEY_USERS. HKEY_USERS is sometimes abbreviated as &#8220;HKU.&#8221;</p>
<p><strong>HKEY_LOCAL_MACHINE</strong><br />
Contains configuration information particular to the computer (for any user). This key is sometimes abbreviated as &#8220;HKLM.&#8221;</p>
<p><strong>HKEY_CLASSES_ROOT</strong><br />
Is a subkey of HKEY_LOCAL_MACHINE\Software. The information stored here makes sure that the correct program opens when you open a file by using Windows Explorer. This key is sometimes abbreviated as &#8220;HKCR.&#8221;</p>
<p><strong>HKEY_CURRENT_CONFIG</strong><br />
Contains information about the hardware profile that is used by the local computer at system startup. </p></blockquote>
<p>The hardest part to exporting a registry key is finding it.  When I refer to registry keys in these writeups, I may say something like:</p>
<blockquote><p>&#8220;Export the registry key [HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany\MyProgram\License] to a file called HKLM.reg.&#8221;</p></blockquote>
<p>To do this, open the Registry Editor, expand HKEY_LOCAL_MACHINE (either click the plus symbol to the left of it, or double-click the name), then expand SOFTWARE, then expand MyCompany, then expand MyProgram, and finally click once on License. You&#8217;ve now selected the License registry key. To Export it, go to the File menu and choose Export&#8230;, enter the file name (HKLM in this case), choose a location (typically the application folder you created for this distribution), and click Save. That&#8217;s it!</p>
<p>The Registry Editor will create a text file named HKLM.reg in the location you chose. This file is a simple text file that will look like:</p>
<blockquote><p>Windows Registry Editor Version 5.00</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany]<br />
@=&#8221;"</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany\MyProgram]<br />
@=&#8221;"<br />
&#8220;Setting1&#8243;=dword:00000001</p></blockquote>
<p>You can edit the file by right-clicking on it, and choosing edit, or you can open it in any text editing program. This file MUST NOT contain any formatting, it is a simple text file. If you ever have problems with your file not importing correctly, open the file with Notepad and save it as an ANSI file (in the Save As window, choose ANSI as the file type at the bottom). This should clear any objectionable formatting from the file. In the past I&#8217;ve experienced problems with the ModifyProfiles.exe application (used in some of the installs I&#8217;ll detail) occassionally not importing my files properly, and saving them as ANSI solved that problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/03/exporting-a-registry-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AbsoluteFTP 1.8 Silent Install</title>
		<link>http://sojoe.info/2006/03/absoluteftp-18-silent-install/</link>
		<comments>http://sojoe.info/2006/03/absoluteftp-18-silent-install/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 21:09:30 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/?p=61</guid>
		<description><![CDATA[This is part of my series on How to Install Windows Applications Silently. This program doesn&#8217;t have silent install options, so I use AutoIT to install it. Here&#8217;s the AutoIT script: $title1="AbsoluteFTPÂ®" Run ("aftp18.exe") WinActivate ($title1) WinWait ($title1, "Welcome!") ControlClick ($title1, "&#38;Next &#62;&#62;", "Button1" ) WinWait ($title1, "Select Directory") ControlClick ($title1, "&#38;Next &#62;&#62;", "Button1" ) [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is part of my series on <a href="http://sojoe.info/?p=60">How to Install Windows Applications Silently</a>.</p></blockquote>
<p>This program doesn&#8217;t have silent install options, so I use AutoIT to install it. Here&#8217;s the AutoIT script:</p>
<pre><code>$title1="AbsoluteFTPÂ®"

Run  ("aftp18.exe")
WinActivate ($title1)
WinWait  ($title1, "Welcome!")
ControlClick ($title1, "&amp;Next &gt;&gt;", "Button1" )
WinWait  ($title1, "Select Directory")
ControlClick ($title1, "&amp;Next &gt;&gt;", "Button1" )
WinWait  ($title1, "Install Icons?")
ControlClick ($title1, "&amp;Next &gt;&gt;", "Button1" )
WinWait  ($title1, "Select Profile Options")
ControlClick ($title1, "&amp;Next &gt;&gt;", "Button1" )
WinWait  ($title1, "Ready to Install!")
ControlClick ($title1, "&amp;Finish", "Button1" )
WinWait  ($title1, "Success!")
ControlClick ($title1, "View ReadMe file now", "Button3" )
ControlClick ($title1, "OK", "Button1" )</code></pre>
<p> <span id="more-61"></span><br />
Save the above in a text file called <strong>AutoIT.au3</strong>, and place it in a directory with the AbsoluteFTP executable, which should be named <strong>aftp18.exe</strong>. Install the program and then configure it to your liking, including licensing information, and any presets you would like all users to have. Once you&#8217;ve done this, export the registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Van Dyke Technologies\AbsoluteFTP\License] to a file called <strong>HKLM.reg. </strong>This will contain the registry information for your licensing. To save your other settings, copy the following files from %ProgramFiles%\AbsoluteFTP\:</p>
<ul>
<li>AbsoluteFTP.DAT</li>
<li>AbsoluteFTP.dmp</li>
<li>AbsoluteFTP.IDX</li>
</ul>
<p>If you will be running this on a computer where the users only have &#8216;user&#8217; permissions (ie they cannot make changes inside the AbsoluteFTP folder), then you will need to open the permissions on that folder for the program to work properly. To do that, create a text file called <strong>Security.inf</strong> and add the following:</p>
<blockquote><p><code>[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\AbsoluteFTP",2,"D:PAR(A;OICI;FA;;;BA)(A;OICIIO;FA;;;CO)(A;OICI;0x1301bf;;;WD)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;BU)"</code></p></blockquote>
<p> Now, to tie it all together, create a text file called <strong>Install.bat</strong>, and add the following:</p>
<blockquote><p><code>@ECHO OFF
ECHO Installing Absolute FTP
start /wait ..\autoit3 autoit.au3
move "%allusersprofile%\start menu\absoluteftp.lnk" "%allusersprofile%\start menu\programs"
del "%allusersprofile%\Desktop\absoluteftp.lnk" /Q
rd "%allusersprofile%\start menu\programs\absoluteftp" /S/Q
copy AbsoluteFTP.* "%ProgramFiles%\AbsoluteFTP\" /y
regedit /s HKLM.reg

ECHO Updating Security Template
secedit /configure /cfg Security.inf /db %temp%\secedit.adb /log %temp%\scelog.txt /verbose
Echo Updating Policy
del %temp%\secedit.adb
del %temp%\scelog.txt
gpupdate
exit
</code></p></blockquote>
<p>Here&#8217;s what the script does, you can remove any lines that are not necessary in your situation:</p>
<ol>
<li>Don&#8217;t echo every line to the screen</li>
<li>Echo a description of the purpose of the script</li>
<li>Have AutoIT run the script to install AbsoluteFTP</li>
<li>Move the shortcut for AbsoluteFTP from the Start Menu to the Programs folder within the Start Menu</li>
<li>Delete the shortcut that was created on the desktop</li>
<li>Remove the AbsoluteFTP folder created in the Start Menu&#8217;s Programs folder (we already have a shortcut there)</li>
<li>copy the three files that contain the program settings to the AbsoluteFTP folder</li>
<li>Have Regedit add the registry settings contained in the HKLM.reg file</li>
<li>Echo message that the Security Template is being updated</li>
<li>Update the Security Template with the info in Security.inf</li>
<li>Echo message that the Group Policy is being updated</li>
<li>Delete temp file</li>
<li>Delete temp file</li>
<li>Tell the local GPO to update</li>
<li>Exit the script</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/03/absoluteftp-18-silent-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Guide to Installing Windows Applications Silently</title>
		<link>http://sojoe.info/2006/03/a-guide-to-installing-windows-applications-silently/</link>
		<comments>http://sojoe.info/2006/03/a-guide-to-installing-windows-applications-silently/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 21:05:02 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Silent Installs]]></category>

		<guid isPermaLink="false">http://sojoe.info/?p=60</guid>
		<description><![CDATA[Introduction When you manage a large number of computers, it becomes necessary to install software in many different circumstances. Many of these applications require a number of things be done after they are installed, such as adding licensing information, configuring options, adding components, etc. When you deal with many applications, it can become difficult to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction </strong></p>
<p>When you manage a large number of computers, it becomes necessary to install software in many different circumstances. Many of these applications require a number of things be done after they are installed, such as adding licensing information, configuring options, adding components, etc. When you deal with many applications, it can become difficult to remember each and every tweak that needs to be done, and it can be time consuming to do them every time. For this reason, any time I have to install software on a computer, I spend the time to create a distribution point that contains a &#8216;silent install&#8217;, which is basically a script that installs and configures the software automatically. This takes a little more time upfront, but in the long run it will save you plenty of time and help eliminate many hassles. <span id="more-60"></span></p>
<p>Their are a number of ways to accomplish this. Some people prefer to use software like Prism Deploy to &#8216;capture&#8217; all of the changes made to a computer when an installation is run, and create a &#8216;package&#8217; that can be double-clicked, or even pushed out remotely. I&#8217;ve used these types of programs, and still do occassionally, but one down side to them is that when you run the capture, it captures every change that happened during your install, reguardless of whether that change was necessary for or even related to the installation. When you&#8217;ve worked with these for a while, you get a knack for which settings can be eliminated from the package, but their are many times when it&#8217;s unclear if a setting that was captured is needed or not. For this reason (I&#8217;m a bit more anal than the average person), whenever possible, I prefer to script a true installation process, so I&#8217;m only making changes to the computer that are required for the application I&#8217;m installing.</p>
<p>So, how do you make an application install itself without constantly asking you questions? Depends on the application. Some applications don&#8217;t offer a way to script their installation. In general, their are a few common ones that usually make silent installations easy, but even when an option to install silently is included, this doesn&#8217;t mean it will run the way you want. And once the application is installed, their&#8217;s the rest of those requirements that need to get met, which usually involve copying files and making changes to the registry.</p>
<p><strong>Getting Started</strong></p>
<p>So, where do we begin? Well, a first easy step is to create a base folder to put all of our individual application folders. Let&#8217;s call it %APPS%, which is a variable that can stand for whatever you&#8217;d like to call your folder. Inside of %APPS% will be a folder for each application that you wish to install. I try to give them all short names that still make it obvious what application we&#8217;re dealing with, but which are short enough to not have to do lots of typing when we need to refer to their location. Since I will occassionally be &#8216;working&#8217; on a distribution, where it may not be ready to use yet, I preface those folder names with a hypen, making it clear that these are not ready to use in production.</p>
<p><strong>Tools</strong></p>
<p>Next, we need to obtain a few tools to help us with the process. Some of the tools we&#8217;ll use are built into Windows, so their is no need to download them. Other functions will require additional tools be added. Here are a few that we will need:</p>
<blockquote><p><strong>AutoIT</strong> ((http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3.zip))</p>
<blockquote><p>&#8220;AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting.  It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys).  AutoIt is also very small, self-contained and will run on 95, 98, ME, NT4, 2000, XP, 2003 out of the box with no annoying &#8220;runtimes&#8221; required!  You can even make compiled executable scripts that can run without AutoIt being installed!&#8221;</p>
<p>Download the ZIP file from the link above, and extract the file AutoIT3.exe to the root of your %APPS% directory. It will be used by our installation scripts to do some of the tasks that command line switches and batch scripts cannot do. If you want to use AutoIT to create a new script, use the installer version ((http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe)) which includes tools to help find the names of elements you are trying to control, and also includes useful documentation.</p></blockquote>
<p><strong>ModifyProfile</strong> ((http://www.optimumx.com/download/ModifyProfile.zip))</p>
<blockquote><p>&#8220;Loads Registry hives and modifies profiles for users who are not currently logged in.  Can also be used to modify new user profiles (Default User).&#8221;</p>
<p>Download the ZIP file from the link above, and extract the file ModifyProfile.exe to the root of your %APPS% directory. It will be used by our installation scripts to make changes to the default user profile&#8217;s registry settings.</p>
<p>We need to change the format of the registry settings we feed into ModifyProfile. This will allow us to format the registry settings in our application scripts the same way they are exported through Regedit. Create a text file in the root of your %APPS% directory called <strong>ChangeHKCU.vbs</strong> and add the following text:</p>
<pre><code>On Error Resume Next

Set shell = WScript.CreateObject("WScript.Shell")
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")

TempDir = shell.ExpandEnvironmentStrings("%TEMP%")

FileContents = GetFile(TempDir + "\HKCU.reg")
dFileContents = Replace(FileContents, "[HKEY_CURRENT_USER\", "[HKEY_USERS\TempHive\")
WriteFile TempDir + "\HKCU.reg", dFileContents

set shell = nothing

'################## Functions #####################

' Read a text file as a string
Function GetFile(FileName)
 If FileName &lt;&gt; "" Then
  Dim FileStream
  on error resume Next
  Set FileStream = FSO.OpenTextFile(FileName)
  GetFile = FileStream.ReadAll
 End If
End Function

' Write string as a text file.
Function WriteFile(FileName, Contents)
 Dim OutStream
 on error resume Next
 Set OutStream = FSO.OpenTextFile(FileName, 2, True)
 OutStream.Write Contents
End Function</code></pre>
</blockquote>
<p><strong>PV</strong> ((http://www.xmlsp.com/pview/PrcView.zip))</p>
<blockquote><p>&#8220;PrcView is a process viewer utility that displays detailed information about processes running under Windows. For each process it displays memory, threads and module usage. For each DLL  it shows full path and version information. PrcView comes with a command line version that allows you to write scripts to check if a process is running, kill it, etc.&#8221;</p>
<p>Download the ZIP file from the link above, and extract the file PV.exe to the root of your %APPS% directory. It will be used by our installation scripts to pause the scripts until specific process finish, or to kill processes when needed.</p></blockquote>
<p><strong>DevCon</strong> ((http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe))</p>
<blockquote><p>&#8220;The DevCon utility is a command-line utility that acts as an alternative to Device Manager. Using DevCon, you can enable, disable, restart, update, remove, and query individual devices or groups of devices. DevCon also provides information that is relevant to the driver developer and is not available in Device Manager.&#8221;<br />
Download the EXE file from the link above, and extract it to a temporary location. Copy the file devcon.exe from the i386 folder in the newly expanded files to the root of your %APPS% directory. It will be used by our installation scripts to deal with driver installations.</p></blockquote>
<p><strong>Setx</strong> ((http://download.microsoft.com/download/win2000platform/setx/1.00.0.1/nt5/en-us/setx_setup.exe))</p>
<blockquote dir="ltr" style="margin-right: 0px"><p>&#8220;This command-line tool offers a batch method for setting environmental variables in the user or system environment and requires no programming or scripting. In addition to taking an environmental variable and its associated value from the command line, it can also get the values of registrykeys and write them to text files.&#8221;</p>
<p>Download the EXE file from the link above, and install it on any computer. Once installed, copy the file Setx.exe from C:\Program Files\Resource Kit to the root of your %APPS% directory. It will be used by our installation scripts to read and set environment variables.</p></blockquote>
<p><strong>NirCmd</strong> ((http://www.nirsoft.net/utils/nircmd.zip))</p>
<blockquote><p>&#8220;NirCmd is a small command-line utility that allows you to do some useful tasks without displaying any user interface. By running NirCmd with simple command-line option, you can write and delete values and keys in the Registry, write values into INI file, dial to your internet account or connect to a VPN network, restart windows or shut down the computer, create shortcut to a file, change the created/modified date of a file, change your display settings, turn off your monitor, open the door of your CD-ROM drive, and more&#8230;&#8221;Download the ZIP file from the link above, and extract the file nircmd.exe to the root of your $APPS% directory. It will be used by our installation scripts to do a number of tasks (see <a href="http://www.nirsoft.net/utils/nircmd.html" class="autohyperlink" title="http://www.nirsoft.net/utils/nircmd.html" target="_blank">www.nirsoft.net/utils/nircmd.html</a> for a list of things this useful software can do).</p></blockquote>
</blockquote>
<p>With all of this in place, we&#8217;re ready to create some application distribution points. Each application will be a little different, so a few different techniques will be explained as we deal with each application individually. Check in the <a href="http://sojoe.info/?cat=17">Silent Installs </a>category for the applications that have been written up so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://sojoe.info/2006/03/a-guide-to-installing-windows-applications-silently/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

