Thursday, June 12, 2008

Powershell Problem with XP SP3

There is a KB on Powershell that is a bit vague. The title is "You cannot upgrade a Windows-based operating system when you have Windows PowerShell 1.0 installed". What this means is, if you have Powershell installed and try to install Windows XP service pack 3, it might fail. The cure is to remove Powershell before upgrading. This bug seems to affect 2003 and Vista as well.

I've been updating my VMware templates for Windows XP, using the volume license version of XP with SP3 built-in. Typically I use the CMDLINES.TXT file to install Powershell and some other apps. But now that function is broken. I'll have to add it after the OS is fully installed. Unfortunately, there are multiple machines in our domain that have Powershell installed, and now I'll have to automate the removal to upgrade them all. Great!

On a side note, if you install IE7 as part of your build process, you may have had problems with that as well. To fix that, download the latest build from Microsoft which was posted in May. Another problem I've encountered is with Windows Update after SP3 is installed. It seems you can download the latest version, then install it with the /wuforce switch to fix it, as described in KB943144. I found that tip on the TechNet forums.

So far SP3 has been a pain. Not nearly as bad as SP2, so I guess I *should* be happy about that.

Saturday, June 07, 2008

Symantec Fix for WinXP SP3 and Vista SP1 Problem

As noted on ComputerWorld, Symantec has released a fix for the trouble some people are having after installing Windows XP SP3 or Vista SP1.

If you are having problems like not seeing devices in Device Manager or having your network connections deleted after the upgrade, get the tool. For those that have not installed SP3 or SP1 yet, the latest LiveUpdate for your Norton product should fix the issue.

I have Vista SP1 and Symantec NIS 2008 installed, and I had no issues. Haven't tried SP3 on my WinXP machines yet, as I was waiting for this to be fixed first.

Thursday, June 05, 2008

Bandwidth Consumption


All the latest news about metered bandwidth from the cable companies made me think about how much I actually use. So I've decided to find out. The first thing I did was look around for a light-weight program I could use to show my consumption, by the day, week, month, something FREE, something that worked. I found NetMeter. It does just what I need it to do. It even imports and exports using CSV files. Pretty slick! (The red line around the screenshot is courtesy of the Vista snipping tool).

Monday, May 26, 2008

NebuAd and Cables Cos Team Up to Watch You

NebuAd and Charter cable have teamed up to serve you advertising based on your surfing habits. They will serve this advertising based on data they mine using deep packet inspection of every single bit of traffic you generate online. Think of it like someone reading all your e-mail or monitoring everything you put down the drain. To be fair, Charter is not the only company signing up.

I love this quote from the article:

I suggested to Mr. Schremp that there would probably be a fair number of customers who don’t consider having their Internet activities tracked to be an enhancement.


Read more on the NY Times Bits blog or an interview with the CEO of NebuAd on GigaOM.

Combine internet tracking with the fact that cable pricing keeps on going up, and waiting for Qwest fiber optic internet service suddenly doesn't seem like such a bad idea.

Update 6/24: Charter backs off plan - for now

Monday, May 19, 2008

Windows XP Service Pack 3 Reboots

If your PC is rebooting after install of Service Pack 3 for Windows XP, try these instructions from the HP Web site.

Friday, March 28, 2008

Repackage an ActiveX Control for Deployment

One thing Microsoft got right in Windows Vista is the ActiveX installer service. With it you can enable standard user accounts the ability to install ActiveX controls from approved Web sites, and they don't need Admin rights. Windows XP has no such service, so what I end up doing is repackaging ActiveX controls so that I can deploy them with Altiris or Group Policy. I use a program named Advanced Installer (AI) to create the MSI package. AI comes in a free version, and I recommend you try it out.

Now, on to the tutorial. The ActiveX control I recently repackaged is for SQL 2005 Reporting Services printing. It allows anyone viewing a report to print it with proper formatting. The control can be found on the SQL server, in a CAB file named RSClientPrint.CAB (I think). Just do a search of the Program Files\SQL folder for CAB files, you'll find it.

Extract the files from the CAB file into a folder, using a program like 7-zip.

After you install AI, open it up.
Create a new project and save it somewhere with a meaningful name. It will create a file with an AIP extension, for Advanced Installer Project.

In the left-pane select Product Details. Give your program a name and assign a version number, like 1.0.0. Add other details if you want.

Next add your files. In the left-pane of AI, select Files and Folders. I added the files to the Windows Volume -> Windows -> Downloaded Program Files folder, which is a repository for ActiveX controls you install via your browser. I do it this way, in the event a new version comes out, the downloaded installer will overwrite the old files. I added all the files that were in the CAB file to this folder in AI.


After the files are added, right-click the rsclientprint.dll (or any DLL or OCX files in your project). Select Properties. Check the Auto register file check box, to ensure the control is registered during install. Click OK when you're done.

Now you are ready to build your installer. Click the Build icon on the toolbar (it looks like a stack of bricks). An MSI package will be built in the same folder where you saved your AI package, and it will have the same name, with the MSI extension.

Now you can roll it out with SMS (SCCM), Altiris, Group Policy, or just manually install it. I recommend you test it on a virtual machine and make sure it works correctly before deployment.

Next time I talk about Advanced Installer, I'll post instructions for signing your projects with a digital certificate.

Monday, March 24, 2008

Updated Microsoft Deployment Toolkit 2008

The Microsoft Deployment Toolkit 2008 replaces the Business Desktop Deployment 2007 tool. The new updated version supports Vista SP1 and Windows Server 2008 (hopefully a new one won't come out next month for WinXP SP3). While you're at it, get the new Windows Automated Installation Kit (WAIK), too. Together these two tools, combined with a server running Windows Deployment Server (WDS), allow you to automate Windows deployment.

If you still haven't setup WDS and started using the MDT and WAIK to automate your lite touch deployments, head over to The Deployment Guys blog and download the Lite touch Video Walkthrough. Its 30 minutes long, but moves at a pretty fast pace. Overall, a well done overview that covers a lot of detail for a process that in reality will take you several days to setup. I recommend it as it will help you understand where to start. The MDT interface can be a bit overwhelming the first time you run it.

More about the MDT update from the Deployment Toolkit Team Blog.

Monday, March 10, 2008

Developer Starts Flame War Comparing .NET to American Tourists

There is an interesting post titled "Are .NET Developers the American Tourists of the Software Industry?"at a blog named Caffeinated Coder by Russell Ball. If you have strong opinions about Microsoft .NET or American Tourists, I encourage you to add your comments to the long list already up there.

As you can probably guess, the usual hilarity ensues, with plenty of name calling by everyone. The author writes a post about being a .NET dev from the USA, and then goes on to say that he will try a few new languages outside of his comfort zone. Good for you, Russell, as it will probably make you a better, more well-rounded programmer. Much like being a tourist and exploring other places and cultures makes you a more well-rounded human.

However, I don't think that anyone that works with Microsoft technology has to apologize, (just like I don't think that every American tourist is a naive loud-mouthed rube). Making generalizations about people based on what technology they use is good for a flame war but not much else, as Jeff Atwood of Coding Horror says in his post about the Mac vs. PC debate titled "Because they all suck",

That's the other problem with the Mac vs. PC debate: it completely misses the point. Computers aren't couture, they're screwdrivers. Your screwdriver rocks, and our screwdriver sucks. So what? They're screwdrivers. If you really want to convince us, stop talking about your screwdriver, and show us what you've created with it.


I tend to agree with Jeff. Microsoft .NET, Python, LAMP, Ruby on Rails, they're just screwdrivers. If you know how to use one or more of these tools to create good code, then you probably are a good programmer. Just because you use Python or another language and look down on people that use .NET does not. (Insert the sound of kid on a playground making a raspberry sound with his tongue.)

That said, just because I think the arguments about This Technology being aesthetically, technically and morally superior to That Technology are stupid, doesn't mean I don't like reading a good flame war every now and then..

Thursday, March 06, 2008

Problem Restoring Files with Enterprise Vault

Recently we had an interesting problem with a file server. This file server had a share that was an archive point for Symantec Enterprise Vault (EV). An archive point allows you to archive files from the file server to the EV using automated tasks based on rules you specify. For example, archive files that have not been modified in a year. The point is to keep files on the file server that are in use, and to move files that aren't in use to EV for long-term storage on low-cost disks. There are many other advantages to using EV such as indexed searches, and locked partitions (for reducing backups of data that does not change) and if your firm has trouble with ballooning file storage needs, I'd encourage you to read up on this product and see if it might be right for you.

Now, to the problem at hand. When we had a problem with a file server recently, we repaired the RAID array and attempted to restore data to it from backup. When we did this, the file server would register Event ID 26 and Event ID 50, a 'Delayed Write Failed' message. Eventually the server would freeze, and on a couple of instances, it rebooted mid-restore. We could restore data to other folders on the same array, which led us to believe (correctly) that the hardware was working fine.

The fix was to uninstall the EV file server agent (FSA Agent). The FSA Agent installs several services on the file server, including one called the Placeholder service, and also a mini filter driver (EVFilter.sys or evmf.sys). A Placeholder is a special shortcut that links to a file in the vault. We had tried the restore with the Placeholder service disabled, but that didn't do the trick. After we uninstalled the FSA Agent, which removed the mini filter driver, the restore was successful.

If you are having trouble with a file server restore, and you are using Enterprise Vault, try removing the FSA Agent altogether, then reboot and try again. Note that we run EV 2007 with SP1, and as we are the first customer that reported this issue with this version, there is no hotfix available. I'll be keeping an eye out for one in the future.

Wednesday, February 06, 2008

Fixing Cmdlines.txt

As I mentioned in my first post on Cmdlines.txt, you can use this file to customize your Windows XP install, and add many newer add-ons, such as Remote Desktop 6, Internet Explorer 7, or the latest DirectX update.

It turns out the trying to install Windows Media Player 11 using Cmdlines.txt calling my batch file Build.cmd, caused all kinds of problems. After Setup was complete Windows would load the Desktop, but it would be set to use the Windows Classic theme, and the net connection would be dead. Further investigation showed that most of the Services set to Automatic (like Themes and DHCP) didn't start. A reboot fixed the problem, but I wanted to know what was causing it, which turned out to be hard to troubleshoot as the Event Log service didn't start either.

After many trial-and-error installs, I determined it was Windows Media Player 11 causing the problems.

I've updated the file and removed the section on Windows Media Player 11. Download Build.cmd version 2. There are two extra files in the Zip, one is WMP11.cmd and the other is WMP.reg.

The method I'm using now to install WMP11 is the Enterprise Deployment Pack for Windows Media Player. With the EDP I create a new installer named mpsetupedp.msi. I then add a section to my unattend.txt answer file called [GuiRunOnce] and in that section added "%systemdrive%\WMP11\WMP.cmd".

It will look like this:


[GuiRunOnce]
"%systemdrive%\WMP11\WMP.cmd"


I add the mpsetupedp.msi, WMP11.cmd and WMP11.reg files (in the Zip you download) into a folder named WinXPFiles\i386\ $oem$\$1\WMP that I've created, setup then copies that folder to the system drive (C: drive) during install. The GuiRunOnce command then calls that batch file and installs Media Player. The reg file removes the License and first-run nags from Media Player.

Here is how I used the EDP:
Install WMP 11 on a clean computer
Set the preferences how you want them
Install the EDP
Download WMP 11, then copy the file to the c:\MSEDP\Redist folder
Rename wmp11-windowsxp-x86-enu.exe to MP10Setup.exe
Download the lastest update for Media Player and put it in the folder too
Then run msedp.exe. Follow the prompts, Y|N, to add your customizations.
You end up with mpsetupedp.msi, WMP 11 repackaged for deployment.

Before the Administrator account automatically logs in the first time on your fresh install of WinXP, Media Player will install quietly, with the latest patch(es), and no nag screens when you or your users run it the first time.