<?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>JJClements.co.uk &#187; Software</title>
	<atom:link href="http://www.jjclements.co.uk/index.php/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jjclements.co.uk</link>
	<description>Clem&#039;s Technical Blog</description>
	<lastBuildDate>Tue, 08 Jun 2010 22:26:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How to move your iTunes Library</title>
		<link>http://www.jjclements.co.uk/2010/04/13/how-to-move-your-itunes-library/</link>
		<comments>http://www.jjclements.co.uk/2010/04/13/how-to-move-your-itunes-library/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 11:55:18 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iTunes]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/?p=722</guid>
		<description><![CDATA[I'm personally not a big fan of iTunes but I recently noticed an issue where a couple of users had installed it and it had defaulted to saving their music library to their Home Directory. This usually wouldn't be an issue for most people but I redirect Home Directories to a share on a file [...]]]></description>
			<content:encoded><![CDATA[<p>I'm personally not a big fan of iTunes but I recently noticed an issue where a couple of users had installed it and it had defaulted to saving their music library to their Home Directory. This usually wouldn't be an issue for most people but I redirect Home Directories to a share on a file server. In order to mitigate against what could have potentially been a requirement for additional disk storage I decided that advising users to change the location of their iTunes library from the default (which unknown to the users was a file server) to a local location on their computer was the best option. Here is a generalized version of the instructions I gave to network users.</p>
<p><span id="more-722"></span></p>
<p>1) Open iTunes and navigate through the menu to: <strong>Edit --> Preferences --> Advanced (tab)</strong></p>
<p><img src="http://www.jjclements.co.uk/wp-content/uploads/2010/04/itunes1.png" alt="itunes1.png" /></p>
<p>2) Click the change button and change the folder location to something like <strong>D:\My Music</strong> (you will need to create this folder.) Click <strong>OK</strong> to close the screen.</p>
<p><img src="http://www.jjclements.co.uk/wp-content/uploads/2010/04/itunes2.png" alt="itunes12.png" /></p>
<p>3) Close iTunes altogether.</p>
<p>4) <strong>Copy</strong> your iTunes folder from <strong>C:\Documents and Settings\(username)\My Documents\My Music</strong> to <strong>D:\My Music.</strong></p>
<p>5) Hold down the <strong>SHIFT</strong> key and click the iTunes shortcut.</p>
<p><img src="http://www.jjclements.co.uk/wp-content/uploads/2010/04/itunes3.png" alt="itunes3.png" /></p>
<p>6) Click on <strong>Choose Library</strong> (to point iTunes to the new library) and browse to <strong>D:\My Music\iTunes\iTunes Library.itl.</strong> Once you have selected the file <strong>iTunes Library.itl</strong> click <strong>Open.</strong></p>
<p><img src="http://www.jjclements.co.uk/wp-content/uploads/2010/04/itunes4.png" alt="itunes4.png" /></p>
<p>7) Once you have opened iTunes using the library in the new location of <strong>D:\My Music\iTunes</strong> you can remove the <strong>old copy</strong> located in <strong>C:\Documents and Settings\(username)\My Documents\My Music.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2010/04/13/how-to-move-your-itunes-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Dell OEM PowerDVD on non OEM system</title>
		<link>http://www.jjclements.co.uk/2008/10/06/install-dell-oem-powerdvd-on-non-oem-system/</link>
		<comments>http://www.jjclements.co.uk/2008/10/06/install-dell-oem-powerdvd-on-non-oem-system/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 16:31:26 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[.ini]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/?p=90</guid>
		<description><![CDATA[I just had an issue where I was trying to install PowerDVD 5.1 onto a Dell laptop with a fresh Windows XP install. The PowerDVD software was on Dell branded media and I had reinstalled the laptop using a non OEM Dell branded version of Windows XP Professional. It seems that there is a check [...]]]></description>
			<content:encoded><![CDATA[<p>I just had an issue where I was trying to install PowerDVD 5.1 onto a Dell laptop with a fresh Windows XP install. The PowerDVD software was on Dell branded media and I had reinstalled the laptop using a non OEM Dell branded version of Windows XP Professional. It seems that there is a check during the installation process of PowerDVD to verify that the software is indeed being reinstalled back onto a Dell branded computer. As I hadn’t used the original reinstallation CD that came with the laptop I had half guessed that PowerDVD was going to complain. </p>
<p><span id="more-90"></span></p>
<p>Here is a screen shot of the error I was presented with:</p>
<p><img src="http://www.jjclements.co.uk/wp-content/uploads/2008/10/powerdvderror.png" alt="powerdvderror.png" /></p>
<p>Being familiar with various forms of installers I started to probe into the contents of the files on the CD. I copied all files from the CD into a folder on the desktop. A quick inspection of all editable files revealed a file called Custom.ini with what looked to be a condition for the setup.exe Installshield installer.</p>
<p>Its contents included the following 3 lines of text:</p>
<p>[PowerDVD]<br />
CLScan=DELL,Unbranded<br />
RunDVDLauncherMCE=1</p>
<p>Immediately my attention was drawn to the 'CLScan=DELL,Unbranded' line. This seemed to be the condition of the installer. I tried changing the condition of the 'CLCScan' parameter into various forms such as:</p>
<p>CLScan=ALL<br />
CLScan=ANY<br />
CLScan=(blank)</p>
<p>None of the above seemed to work. Every time I changed the text the error message above would change to reflect the new condition but still not let me install the application. After changing the condition a few times I finally managed to get the application to install. I set the contidion to be:<br />
CLScan=*</p>
<p>The asterisk saved in the Custom.ini file allowed the install to complete without any errors. I have also tried other symbols including an apostrophe and the ‘@’ symbol. You can run the command MSINFO32 to show you the manufacturer of your system which may work if one of the above symbols doesn't. Any of these methods could allow PowerDVD to successfully install. A quick test afterwards revealed that the machine had PowerDVD installed and it was indeed fully functional.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2008/10/06/install-dell-oem-powerdvd-on-non-oem-system/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Close Remote Desktop Connection (RDP) session remotely</title>
		<link>http://www.jjclements.co.uk/2008/07/23/close-remote-desktop-connection-rdp-session-remotely/</link>
		<comments>http://www.jjclements.co.uk/2008/07/23/close-remote-desktop-connection-rdp-session-remotely/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 12:06:59 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[psexec.exe]]></category>
		<category><![CDATA[RDP]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/?p=64</guid>
		<description><![CDATA[I have a server located in a data centre miles away from where I work. It currently runs Windows 2000 Server. Every now and then when I try to connect to the server I get the following message about the number of Remote Desktop connections being exceeded: Subsequently I cannot logon to the server and [...]]]></description>
			<content:encoded><![CDATA[<p>I have a server located in a data centre miles away from where I work. It currently runs Windows 2000 Server. Every now and then when I try to connect to the server I get the following message about the number of Remote Desktop connections being exceeded:</p>
<p><span id="more-64"></span></p>
<p><img src="http://www.jjclements.co.uk/wp-content/uploads/2008/07/tserror.png" alt="tserror.png" /></p>
<p>Subsequently I cannot logon to the server and the Remote Desktop Connection window closes. On one occasion I contacted the data centre where the server is hosted and they logged onto the console of the server and logged the unused RDP sessions off (other administrators were not logging off the server when working, only closing the Remote Desktop Connection window). I could then logon myself remotely. As a result I had a quick think about how I could do this remotely and I now use one of the PSTools (developed by Mark Russinovich of Sysinternals – now Microsoft) to execute a couple of command line tools on the server remotely to disconnect the unused session(s) myself.</p>
<p>To do this I use psexec.exe to execute programs on the remote server. You should note that psexec.exe uses ports 139 and 445 (Netbios and File Sharing ports) and that in order for this to work the target computer/server should have these ports accessible by your own client computer. However, I would not recommend under any circumstances that these ports be opened to the internet because of the misuse of others and or virus’s that may be in circulation. Fortunately for me I have a direct connection to the data centre where the server is located and whilst these ports appear open for me the server remains disguised from the internet via a firewall from everyone else.</p>
<p>Open up a command prompt and navigate to the PSTools directory where psexec.exe resides. Now we need to get the Session IDs for all of the logged on users by running an application called query.exe on the remote server itself using psexec.exe:</p>
<p>psexec.exe \\(servername or ip) -u (adminusername) -p (adminpassword) query.exe session</p>
<p>That should return a list of enumerated users logged onto the server and the Session ID that they have been assigned.</p>
<p>Now we know the Session ID of the session we wish to close we can use an application called logoff.exe on the remote server again by running it using psexec.exe:</p>
<p>psexec.exe \\(servername or ip) -u (adminusername) -p (adminpassword) logoff.exe (session ID)</p>
<p>When this command executes the session that corresponds to the Session ID you obtained by running query.exe is logged off, thus freeing up a connection for you to log onto the server with.</p>
<p>Other options for connecting include running the Remote Desktop Client (mstsc.exe) with the /console switch which has been changed to /admin in newer versions of the client. I have used this method and sometimes still encountered problems logging on. You can also use the Terminal Services Manager as it has the ability to remotely connect to other Terminal Servers. If you want to use this method you can copy tsadmin.exe from:</p>
<p>C:\WINDOWS\system32</p>
<p>on Windows Server 2003 and run it on a Windows XP workstation to connect to Terminal Servers remotely and administer sessions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2008/07/23/close-remote-desktop-connection-rdp-session-remotely/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Run Compiled HTML .chm from network share</title>
		<link>http://www.jjclements.co.uk/2008/02/11/run-compiled-html-chm-from-network-share/</link>
		<comments>http://www.jjclements.co.uk/2008/02/11/run-compiled-html-chm-from-network-share/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 21:59:30 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.chm]]></category>
		<category><![CDATA[htmlhelp]]></category>
		<category><![CDATA[itssrestrictions]]></category>
		<category><![CDATA[maxallowedzone]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/index.php/2008/02/11/run-compiled-html-chm-from-network-share/</guid>
		<description><![CDATA[Way back in 2002 Microsoft released a security bulletin regarding what they called a 'vulnerability in HTML Help that Could Allow Remote Code Execution'. The issue is related to help files that many software vendors use in the form of compiled HTML help files that use the .chm file extension. Compiled HTML Help is a [...]]]></description>
			<content:encoded><![CDATA[<p>Way back in 2002 Microsoft released a security bulletin regarding what they called a 'vulnerability in HTML Help that Could Allow Remote Code Execution'. The issue is related to help files that many software vendors use in the form of compiled HTML help files that use the .chm file extension.</p>
<p><span id="more-62"></span></p>
<p>Compiled HTML Help is a proprietary format for online help files, developed by Microsoft and first released in 1997 as a successor to the Microsoft WinHelp format. It was first introduced with the release of Windows 98, and is still supported and distributed through Windows XP and Vista platforms. As mentioned a compiled HTML help file has a .chm extension and is essentially a set of web pages written in HTML with a hyperlinked table of contents.</p>
<p>One of the unique features of compiled HTML Help is its ability to execute programs, a privilege not bestowed on regular uncompiled web pages. This is achieved by the use of the shortcut command, which is made available through the HTML Help ActiveX Control. As an example of using the shortcut command, a Help topic that contains an instruction to open the Printer Settings dialog can also provide a shortcut button that enables users to open that dialog with just a single click.</p>
<p>The problem identified by Microsoft was that in theory, an attacker could use an email to deliver a .chm file that contained a shortcut, and then exploit certain flaws to open it and allow the shortcut to execute.</p>
<p>As a result Microsoft released an update that closes the loopholes for all versions of Windows from 98 through to XP. When you download and install the update, you are actually updating the HTML Help ActiveX Control on your system to the latest version: 1.4a (5.2.3669.0). This version restricts the use of the shortcut command, and also fixes another important security issue that was discovered (a buffer overflow vulnerability).</p>
<p>Info on the security bulletin and update is available here:</p>
<p><a href="http://www.microsoft.com/technet/security/Bulletin/MS05-026.mspx" target="_blank" rel="nofollow">MS05-026</a></p>
<p>After the update is installed a compiled HTML Help file can only use shortcuts if the Help file is located in a folder that's known to contain trusted content. For example, on Windows 2000 and XP systems, shortcuts will only operate if the file is in the Windows Help folder, the Program Files folder, the Help and Support Center folder, or in any of their subfolders. Herein lies the problem.</p>
<p>Many System Administrators like myself prefer to run some applications from a central shared location on a network. This because it is easier/quicker to setup an application once then on 500 computers. If the application is configured correctly then as soon as all users have the shortcut pointing to the shared network location the application should function as expected. But as you guessed if you are using a computer where the Microsoft update for the compiled HTML vulnerability has been applied then when you try to view the help file(s) you will likely be presented with a window like this:</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2008/02/chmnetworkerror.JPG' alt='chmnetworkerror.JPG' /></p>
<p>Microsoft released the following knowledge base article with advice and workarounds for this problem:</p>
<p><a href="http://support.microsoft.com/kb/896358" target="_blank" rel="nofollow">KB896358</a></p>
<p>I won't go into detail explaining every workaround that Microsoft has provided in the article but I will explain how I tackled the problem. The way I viewed the situation was that I was willing to accept additional risk in order to get .chm files working from a shared location on the network. I believe the likelihood of sustaining a malicious attack that exploits a vulnerability of compiled HTML help is extremely low. I do however recommended that you protect against this risk, however small, by installing the update provided by Microsoft. I trust all the computers on the network so I decided to lower the restrictions on the Local Intranet zone to allow .chm files to run from the shared location. This is how I did it:</p>
<p>1. Click Start, click Run, type regedit, and then click OK.<br />
2. Navigate to the following subkey:</p>
<p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions</p>
<p>(If this registry subkey does not exist, create it.)</p>
<p>3. Right-click the ItssRestrictions subkey, point to New, and then click DWORD Value.<br />
4. Type MaxAllowedZone, and then press Enter.<br />
5. Right-click the MaxAllowedZone value, and then click Modify.<br />
6. In the Value data box, type 1, and then click OK.<br />
7. Exit regedit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2008/02/11/run-compiled-html-chm-from-network-share/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Run .net application from network share</title>
		<link>http://www.jjclements.co.uk/2008/01/21/run-net-application-from-network-share/</link>
		<comments>http://www.jjclements.co.uk/2008/01/21/run-net-application-from-network-share/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 01:03:41 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[.msi]]></category>
		<category><![CDATA[security.config]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/index.php/2008/01/21/run-net-application-from-network-share/</guid>
		<description><![CDATA[I used to work in a Secondary School and whilst I was there I developed an application using VB.net for students to run checks on and upload e-portfolios to a shared resource before submission to the examination board. The application worked fine so I packaged it into an MSI and deployed it. Everything was ok [...]]]></description>
			<content:encoded><![CDATA[<p>I used to work in a Secondary School and whilst I was there I developed an application using VB.net for students to run checks on and upload e-portfolios to a shared resource before submission to the examination board. The application worked fine so I packaged it into an MSI and deployed it. Everything was ok until the e-portfolio criteria was changed. I had to modify the application and redeploy the MSI.</p>
<p><span id="more-56"></span></p>
<p>This proved a headache and I immediately thought that I should be running the application from a network share. The problem I had was that the .net framework abides by a security policy and subsequently the default security settings allow the application to run from a network share but do not allow the user to perform basic tasks like using the application to browse for an e-portfolio folder in this case.</p>
<p>I started looking at ways of modifying the security policy. It turns out that .net versions 1.1 and 2.0 each have their own security policy and have to be configured separately. It appears that .net 3.0 contains some extensions but still uses the .net 2.0 compilers and executables governed by the .net 2.0 security policy. Therefore any changes made to the .net 2.0 security policy should affect .net 3.0.</p>
<p>To make changes to either the .net 1.1 or 2.0 security policy you can access each framework's respective configuration tool the following way:</p>
<p>Start -> Control Panel -> Administrative Tools</p>
<p>and either:<br />
Microsoft .NET Framework 1.1 Configuration or<br />
Microsoft .NET Framework 2.0 Configuration</p>
<p>You will have to install the .net 2.0 SDK before its configuration tool is available, although the 1.1 configuration tool is supplied with the framework installer.</p>
<p>The configuration tools are virtually identical, but to make changes to the .net 2.0 framework you have to expand 'My Computer' in the view in the left pane when the tool is run.</p>
<p><a href='http://www.jjclements.co.uk/wp-content/uploads/2008/01/framework-configuration.PNG' target="_blank"><img src='http://www.jjclements.co.uk/wp-content/uploads/2008/01/framework-configuration.thumbnail.PNG' /></a></p>
<p>To allow each framework's security policy to run an application from a share you have a couple of options available. You can allow a specific application to run from a specific location or you can 'Fully Trust' your local Intranet zone which will allow all .net applications to run from any share on your local network (albeit at a greater security risk). Being a school I can see there being a need to run applications from shares quite frequently, and so I wanted to change the 'Local Intranet' policy from a level of almost full trust to full trust. The Microsoft explanations of each setting are as follows:</p>
<p>Nearly Full Trust (this is the default setting)<br />
Programs might not be able to access most protected resources such as the registry or security policy settings, or access your local file system without user interaction. Programs will be able to connect back to their site of origin, resolve domain names, and use all windowing resources.</p>
<p>Full Trust<br />
Security checks are not performed and programs can access and use all resources on your machine. Avoid this setting unless you are certain that no potentially harmful or error-prone programs can execute from the selected zone.</p>
<p>Now I can see why my application didn't like to browse for files when it was run from a share! To change the security policy for the 'Local Intranet' zone you need to click on the 'Runtime Security Policy' icon in the tree view on the left pane. Then in the pane on the right click on 'Adjust Zone Security'. When prompted click next to make changes to 'this computer'. Click on the 'Local Intranet' icon and change the level of trust to 'Full Trust'. Click next -> finish to exit. This has just changed the level of trust for the .net framework who's configuration tool you ran. I repeated this for the other version of the .net framework so that both fully trusted the local Intranet zone. I was then able to run my VB.net application from a network share without any problems.</p>
<p>My next issue was going to be how to achieve this on over 500 computers. Luckily, each .net configuration tool is able to create an MSI that can be deployed over a network via Group Policy. To create an MSI for this you need to open each .net frameworks configuration tool, click on the 'Runtime Security Policy' icon in the tree view on the left pane, and then click 'Create Deployment Package' on the right hand pane that appears. If you decide to make your own MSI to distribute, when you attempt to use the deployment package tool you should select 'Machine' security level when you are prompted.</p>
<p>I initially created two MSIs, one for each .net version that would change the local Intranet zone to fully trusted. After testing these MSIs it appears that they don't appear in Add Remove Programs, and that when they are uninstalled they do not set the policy back to its original settings. So I started looking at exactly what happens when you manually change the local Intranet zone's security level. Each .net framework saves its settings in a file called 'security.config' located:</p>
<p>.net 1.1<br />
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG</p>
<p>.net 2.0<br />
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG</p>
<p>I made the changes to the local Intranet security policy for both frameworks and copied the files out. They are available here:</p>
<p><a href='http://www.jjclements.co.uk/wp-content/uploads/2008/01/net-11-securityconfig.zip' title='net-11-securityconfig.zip'>.net 1.1 security.config Download</a></p>
<p><a href='http://www.jjclements.co.uk/wp-content/uploads/2008/01/net-20-securityconfig.zip' title='net-20-securityconfig.zip'>.net 2.0 security.config Download</a></p>
<p>I have included a condition in my MSIs (I ended up authoring my own custom MSIs) to make sure that each framework is installed before the installation proceeds. I have also tested them to make sure that when they are removed, the settings return back to the default values, and that they appear in 'Add Remove Programs'. They can be downloaded here:</p>
<p><a href='http://www.jjclements.co.uk/wp-content/uploads/2008/01/security-changes-for-net-11.zip' title='security-changes-for-net-11.zip'>.net 1.1 MSI Download</a></p>
<p><a href='http://www.jjclements.co.uk/wp-content/uploads/2008/01/security-changes-for-net-20.zip' title='security-changes-for-net-20.zip'>.net 2.0 MSI Download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2008/01/21/run-net-application-from-network-share/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Uninstall Symantec AV with an unknown password</title>
		<link>http://www.jjclements.co.uk/2007/11/15/uninstall-symantec-av-with-an-unknown-password/</link>
		<comments>http://www.jjclements.co.uk/2007/11/15/uninstall-symantec-av-with-an-unknown-password/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 13:04:12 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Registry]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[pki]]></category>
		<category><![CDATA[UseVPUninstallPassword]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/index.php/2007/11/15/uninstall-symantec-av-with-an-unknown-password/</guid>
		<description><![CDATA[Here is a tip to uninstall Symantec Antivirus (I use the corporate edition) when the uninstall password has been forgotten (NOTE: the default password is symantec) OR you are using a Symantec Antivirus Server to manage clients and the server has been reinstalled or corrupted thus losing the server group root certificate (stored in the [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a tip to uninstall <a href="http://www.symantec.com" target="_blank" rel="nofollow">Symantec Antivirus</a> (I use the corporate edition) when the uninstall password has been forgotten (NOTE: the default password is symantec) OR you are using a Symantec Antivirus Server to manage clients and the server has been reinstalled or corrupted thus losing the server group root certificate (stored in the 'pki' folder located in C:\Program Files\Symantec AntiVirus, this should always be backed up!).</p>
<p><span id="more-55"></span></p>
<p>1. Open the registry editor on the client (regedit)</p>
<p>2. Find the following registry key:</p>
<p>HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\LANDesk\VirusProtect6\CurrentVersion\AdministratorOnly\Security</p>
<p>3. Change the data stored within the UseVPUninstallPassword value from 1 to 0</p>
<p>4. Clost regedit and try uninstalling Symantec Antivirus from the client. It should now uninstall without prompting for the password.</p>
<p>You can alternatively make the Registry key change (I.e. perform all of the above steps) by saving the following file to your computer, double clicking the file and merging the contents with your registry:</p>
<p><a href="http://www.jjclements.co.uk/wp-content/uploads/2007/11/SAV-No-Pasword.reg" target="_blank" rel="nofollow">Download Here</a> (you may need to right click this link and use "save as" to save it)</p>
<p>In a situation where you are running a Symantec Antivirus Server managing clients you will probably want to script the registry key change through a start-up script.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2007/11/15/uninstall-symantec-av-with-an-unknown-password/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Windows XP &amp; Vista mount ISO</title>
		<link>http://www.jjclements.co.uk/2007/10/31/windows-xp-vista-mount-iso/</link>
		<comments>http://www.jjclements.co.uk/2007/10/31/windows-xp-vista-mount-iso/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 12:57:27 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[.iso]]></category>
		<category><![CDATA[virtual cd control panel]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/index.php/2007/10/31/windows-xp-vista-mount-iso/</guid>
		<description><![CDATA[I was recently looking for a utility to mount an ISO so that I could install a program from the ISO image. Most of the applications that I have ever used for this (Daemon Tools, Alcohol 120%) require a reboot after installation to initialize the virtual CD-Rom drive before it can be used. I actually [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently looking for a utility to mount an ISO so that I could install a program from the ISO image. Most of the applications that I have ever used for this (Daemon Tools, Alcohol 120%) require a reboot after installation to initialize the virtual CD-Rom drive before it can be used. I actually didn't want to reboot my workstation so I thought id have a quick Google for an alternative application. It turns out that Microsoft have written an application called 'Virtual CD Control Panel' (I've called it VCP for short). </p>
<p><span id="more-46"></span></p>
<p>I can't find any information relating to VCP from Microsoft directly but it seems that VCP has been out for a while. Its available for direct download from here:</p>
<p><a href="http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe" target="_blank" rel="nofollow">winxpvirtualcdcontrolpanel_21</a></p>
<p>Inside the self extracting archive are 3 files:</p>
<p>readme.txt<br />
VCdControlTool.exe<br />
VCdRom.sys</p>
<p>The readme for the application is pretty straight forward, within a few steps you should be mounting and unmounting ISO image files from your virtual cd drive. The instructions say to copy VCdRom.sys to your %systemroot%system32drivers folder, but I found that when you browse for VCdRom.sys using VCdControlTool.exe it actually doesn't matter where it is. Here are the instructions from the readme anyway:</p>
<p>Installation instructions<br />
=========================<br />
1. Copy VCdRom.sys to your %systemroot%\system32\drivers folder.<br />
2. Execute VCdControlTool.exe<br />
3. Click "Driver control"<br />
4. If the "Install Driver" button is available, click it. Navigate to the %systemroot%\system32\drivers folder, select VCdRom.sys, and click Open.<br />
5. Click "Start"<br />
6. Click OK<br />
7. Click "Add Drive" to add a drive to the drive list. Ensure that the drive added is not a local drive. If it is, continue to click "Add Drive" until an unused drive letter is available.<br />
8. Select an unused drive letter from the drive list and click "Mount".<br />
9. Navigate to the image file, select it, and click "OK". UNC naming conventions should not be used, however mapped network drives should be OK.</p>
<p>Here is how I used it:</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/10/1.PNG' alt='' /></p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/10/2.PNG' alt='' /></p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/10/3.PNG' alt='' /></p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/10/4.PNG' alt='' /></p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/10/5.PNG' alt='' /></p>
<p>To remove/uninstall the CD-Rom driver do the following:</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/10/6.PNG' alt='' /></p>
<p>VCP worked well for me, it allowed me to install my program from ISO, I could even 'eject' or unmount the ISO that I had mounted in order to mount another halfway through the program I was installing (it was a 2 CD/ISO program). I've tested VCP on both Windows XP and Vista. It worked flawlessly on both operating systems and served it's purpose of letting me install from an ISO without having to restart my workstation after installing the driver. The best point of all though- its free.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2007/10/31/windows-xp-vista-mount-iso/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Install MySQL 5 for Windows &#8211; IIS</title>
		<link>http://www.jjclements.co.uk/2007/07/08/install-mysql-5-for-windows-iis/</link>
		<comments>http://www.jjclements.co.uk/2007/07/08/install-mysql-5-for-windows-iis/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 21:21:56 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/index.php/2007/07/08/install-mysql-5-for-windows-iis/</guid>
		<description><![CDATA[This is how I installed, tested and currently use MySQL 5.0.41 on Windows. At the time of writing MySQL version 5.0.41 is the current release, but I expect this to work with future releases to. Download the MySQL installer from HERE The installer comes in a .zip file so you will need to extract it. [...]]]></description>
			<content:encoded><![CDATA[<p>This is how I installed, tested and currently use MySQL 5.0.41 on Windows. At the time of writing MySQL version 5.0.41 is the current release, but I expect this to work with future releases to.</p>
<p><span id="more-18"></span></p>
<p>Download the <a href="http://www.mysql.com" target="_blank">MySQL</a> installer from <a href="http://dev.mysql.com/downloads/mysql/5.0.html#downloads" target="_blank">HERE</a></p>
<p>The installer comes in a .zip file so you will need to extract it. Now run the installer (setup.exe) and select the 'Typical' setup type. Click 'Install' to begin the installation process. Once the installer copies files onto your computer you are presented with the option to 'Configure the MySQL Server now'. Make sure this option is checked and click 'Finish' to end the installation and begin configuring MySQL.</p>
<p>You will be presented with an option to choose a 'configuration type' for customizing your MySQL installation. Choose 'Detailed Configuration'.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql1.PNG' alt='mysql1.PNG' /></p>
<p>You will now be asked to choose a 'server type'. Here you are presented with three options. Since I will not be using MySQL a great deal as it will only be used to serve a single website I will choose the 'Developer Machine' option. If you plan on hosting a few websites that require a MySQL database and you expect fairly heavy traffic then I would recommend the 'Server Machine' option. Since my computer's priority is not to serve multiple websites the 'Developer Machine' option is fine for me and this will use less of the computer's memory.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql2.PNG' alt='mysql2.PNG' /></p>
<p>Next you will be asked to pick the 'database usage'. Select 'Non-Transactional Database Only'.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql3.PNG' alt='mysql3.PNG' /></p>
<p>Next you will be asked to gauge the 'number of concurrent connections to the server'. Since I do not expect a high number of users using the database at anyone one time I will select the 'Decision Support (DSS)/OLAP' option. This allows for 20 concurrent connections to the MySQL database.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql4.PNG' alt='mysql4.PNG' /></p>
<p>Now you will be asked to specify networking options for the MySQL database. The defaults are fine.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql5.PNG' alt='mysql5.PNG' /></p>
<p>The following screen requires you to choose a 'default character set'. I chose the default 'Standard Character Set' since this is fine for English Languages.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql6.PNG' alt='mysql6.PNG' /></p>
<p>You are now asked to set any windows options. I used the default option of installing MySQL as a 'Windows Service' and made sure it was set to run MySQL automatically.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql7.PNG' alt='mysql7.PNG' /></p>
<p>The final part of this installation involves setting the security options for MySQL. I cannot stress how important it is to set a complex password on your MySQL database, especially if you computer is not protected by a firewall and is directly connected to the internet. So, make sure the 'Modify Security Settings' check box is enabled and enter a password for the default database admin user called 'root'. Make this password as complex as you can.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql8.PNG' alt='mysql8.PNG' /></p>
<p>Next click 'Execute' to begin configuration of your database.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql9.PNG' alt='mysql9.PNG' /></p>
<p>The wizard will configure the database for you and show blue ticks next to each part of the configuration after a successful setup.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/mysql10.PNG' alt='mysql10.PNG' /></p>
<p>Clicking the 'Finish' button closes the configuration wizard and completes the installation of MySQL. Should any of your requirements change and you need to reconfigure MySQL, there are two ways of modifying your configuration. The first is to manually edit the config file that contains all of the MySQL settings. It can be located at 'C:\Program Files\MySQL\MySQL Server 5.0\my.ini', the second is to browse the start menu on your computer until you find the MySQL sub menu. You can run the configuration wizard by clicking 'MySQL Server Instance Config Wizard' shortcut from within the MySQL sub menu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2007/07/08/install-mysql-5-for-windows-iis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing PHP 5 for IIS 6</title>
		<link>http://www.jjclements.co.uk/2007/07/08/installing-php5-for-iis-6/</link>
		<comments>http://www.jjclements.co.uk/2007/07/08/installing-php5-for-iis-6/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 17:57:13 +0000</pubDate>
		<dc:creator>James Clements</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.jjclements.co.uk/index.php/2007/07/08/installing-php5-for-iis-6/</guid>
		<description><![CDATA[This is how I installed, tested and currently use PHP 5.2.3 with IIS 6. At the time of writing PHP version 5.2.3 is the current release, but I expect this to work with future releases to. This article assumes you already have IIS installed. I would like to say that I would have preferred to [...]]]></description>
			<content:encoded><![CDATA[<p>This is how I installed, tested and currently use PHP 5.2.3 with IIS 6. At the time of writing PHP version 5.2.3 is the current release, but I expect this to work with future releases to. This article assumes you already have IIS installed.</p>
<p><span id="more-7"></span></p>
<p>I would like to say that I would have preferred to have installed apache on my server. I opted for IIS simply because I use <a href="http://en.wikipedia.org/wiki/Outlook_Web_Access" target="_blank">OWA</a>. Whilst both web servers have their pros and cons, I would have preferred apache for its mod_rewrite module. I know there are commercial ISAPI modules available (and a couple of freebies with limitations) but when weighing up the cost of losing webmail IIS was the route I decided upon.</p>
<p>Download the <a href="http://www.php.net" target="_blank">PHP</a> installer from <a href="http://www.php.net/downloads.php" target="_blank">HERE</a></p>
<p>Now run the installer and install to the recommended directory of C:\Program Files\PHP\</p>
<p>When prompted for the type of Web Server you wish to setup select IIS ISAPI module</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php1.PNG' alt='php1.PNG' /></p>
<p>On the next screen, from the list of extensions available, select the following to be installed on the local hard drive: GD2, MCrypt, Multi-Byte String, MySQL, and MySQLi. I chose these extensions because I use a <a href="http://www.mysql.com" target="_blank">MySQL</a> database and <a href="http://www.phpmyadmin.net" target="_blank">phpMyAdmin</a> to manage the database. </p>
<p>N.B. If you find you need additional extensions later on, you can run the installer again and select the extensions to be installed from the list available.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php2.PNG' alt='php2.PNG' /></p>
<p>After the setup has finished restart IIS by opening the IIS snap-in, selecting the computer icon (with the name of the computer you have IIS installed on), right clicking, selecting all tasks and choosing restart IIS</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php3.PNG' alt='php3.PNG' /></p>
<p>When prompted with 'What do you want IIS to do?' select the option to 'Restart Internet Services on computername' and click ok</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php4.PNG' alt='php4.PNG' /></p>
<p>Now, still within the IIS snap-in, browse the 'Web Sites' folder and right click the 'Default Web Site' to select properties. Select the tab named 'Documents' and add index.php to the list of default content pages. You may want to change the order in which IIS displays index pages, I moved index.php to the top of the list.</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php5.PNG' alt='php5.PNG' /></p>
<p>Now select the tab named 'Home Directory' and click on the 'configuration' button. Scroll down to .php in the Application Extensions window, click it to select the .php extension and click the 'edit' button. Now change the Executable path from "C:\PROGRA~1\PHP\PHP5IS~1.DLL" to "C:\Program Files\PHP\php5isapi.dll" (with quotes).</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php6.PNG' alt='php6.PNG' /></p>
<p>N.B. If you create any virtual websites (other than using 'Default Web Site') you will have to perform this step on them as well.</p>
<p>Now I made a couple of changes to the 'php.ini' file. Edit C:\Program Files\PHP\php.ini and change display_errors = Off and log_errors = On to display_errors = On and log_errors = Off. Also change both upload_tmp_dir and session.save_path paths to "C:\WINDOWS\Temp". The default paths for both of these settings is a directory that doesn't exist, hence the need to change it.</p>
<p>Now restart IIS again like you did earlier.</p>
<p>Now in the document root folder for IIS, (for me this was 'C:\Inetpub\wwwroot') create a new file called index.php using notepad or your favourite text editor. In it save the following text:</p>
<p><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php7.PNG' alt='php7.PNG' /></p>
<p>Now open your browser and browse the local computer by typing http://localhost or http://127.0.0.1 into the web address bar of your browser. you should be presented with a screen similar to the following, displaying the configuration of your PHP setup.</p>
<p><a href='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php8.PNG' title='php8.PNG'><img src='http://www.jjclements.co.uk/wp-content/uploads/2007/07/php8.thumbnail.PNG' alt='php8.PNG' /></a><br />
(click to enlarge)</p>
<p>If you see that page then your PHP installation for IIS has been a success!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jjclements.co.uk/2007/07/08/installing-php5-for-iis-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
