Dutch consumer protection says to resist Vista

I was reading an article on Ars Technica about a consumer advocacy group in the the Netherlands who suggest that customers should downgrade to XP if they end up with Vista.

I’m convinced that maybe, just maybe, I’ve ended up with a different version of Windows Vista than other people. While I may have just upgraded my computer from Windows XP to Windows Vista within the last month, I have been using it at work since sometime in May, and have few problems. Hell, in some cases I’ve had things work better than they did in Windows XP. One example of this is my secondary monitor I use, which connects to the docking station my Latitude D820 uses throughout the week. I use the extended display option, and the monitor is on the left hand side and the laptop is on the right. Whenever I would undock for the weekend and use the computer at home, when I was next at work, XP was always convinced that the monitor was on the right hand side. While not a big issue, I then had to go into the settings each and every time. I don’t recall having to do that with Vista once, or if I did, it was the first time and the first time only.

Of course, this is just one of the many instances of people voicing issues that Vista isn’t ready. Again, it might just be me, but I have had better performance on both machines with Vista than I had with XP. On my home computer, I run Lord of the Rings Online, and I play in windowed mode so I can still easily get to Firefox, Pidgin, or Thunderbird while I’m playing in case I want to look something up or I’m doing something (riding between cities or crafting) that doesn’t require my attention. XP used to hate when I tried to do this, even with the full 2GB of memory I had in the system when I did a quick test run, whereas Vista has no issue. Since I have a decent video card, when I tab around between windows, via the Alt or Windows key method, it still displays what is going on in LotRO while I’m doing so. Sure, Macintosh OS X had this as one of their big things when they would talk about how awesome it was, so I see no reason not to say it about Windows.

I do agree with the article that Vista’s security model is superior to XP, and unlike the “Mac & PC” commercials (which to me is like saying, if it was for comparing cars, “Prius & American cars”), Vista does not prompt to stop you from doing something all the time. It’s just another step to get users to realize that they are about to do something that will affect their system. Sure, when you are trying to administer a system, those prompts might get annoying, but I like them nonetheless, and consider them good for normal, everyday users, especially since they prevent you from clicking anywhere else on the screen until you make a choice.

Due to the fact that computers are coming with Vista, and the users will need to get used to it, I personally don’t recommend downgrading from Vista to XP. My mom had asked me to do that on a new laptop she had and I simply said no, as the computer would no longer have many of the default programs that were set up for that laptop model, and eventually she would have to use Vista anyway and XP would no longer be supported, which require an upgrade back to Vista. On another note, since I don’t have to administer computers on a network or domain, install software that isn’t Vista compliant, or deal with locking down computers from users, I have no problem using Vista or recommending it to others, provided that the computer it’s going on can handle it. While I’m interested in Ubuntu, I also am interested in LotRO, and don’t want to have to boot back and forth between OS environments, so I’m sticking with Windows for now.

Then again, that’s just me.

read more | digg story

Comments

Fix for VBScript error when installing iTunes/QuickTime on Vista

I had already started typing when I started my search for a solution to my problem, and realized that the title I want to use for this post is the exact same as the blog on which I found the answer to the question I had of “installing quicktime on vista”. The answer is straight forward enough, but I certainly want to thank the author, Keath, for his solution to this problem, which is quoted below.

The iTunes/QuickTime installer will fail with a “VBScript not installed” error on some installations of Vista. I’m not sure exactly what leads to this situation as it does not seem to affect all Vista users, but there is a relatively simple fix:

  • Click Start, All Programs, Accessories then right click on Command Prompt and select “Run as Administrator”
  • cd to your windows\system32 directory
  • enter the following command:
    regsvr32 vbscript.dll

This will re-register VBScript and allow the iTunes installer to run.

Now I can get back to what I originally was trying to do, which was watch the trailer for Fallout 3, which I got to from this article on Digg, which I then eventually just went to a direct link to the .mov file.

Comments

Windows Vista error Code 80072F8F

I saw this error code this past weekend when I was working on my parents’ new laptop, which runs Windows Vista Home (I think that’s the version). It took me a while to figure out, but all it meant was that there was an issue trying to get an update. The reason: the computer’s date had been set 4 years into the past. Once I went and corrected the date, Vista was able to update correctly. Take that, Code 80072F8F!

After testing this on my work computer, I found that this also that the McAfee AutoUpdate will fail to update as well if the computer’s date is in the past as well. So, if you see that error message in Vista, or have issues with antivirus and other programs failing to update, check the date.

Comments (6)

Vista, IE7, and Kronos

So at work I finally got around to upgrading my computer to Vista. Since this was a fresh install, I had to install my normal apps (Firefox, PSPad, Pidgin, OpenOffice, etc) and if need be, copy over any application data from the old XP hard drive. I also had to troubleshoot a number of issues, the biggest of which happened to be with IE7 and Kronos Workforce Central. When I was getting Firefox ready, I went and got the latest JRE (1.6) and installed that. When I logged into Kronos, I could do some searches, but I couldn’t look at any time cards. I tried declaring Kronos as an intranet site, but that didn’t appear to do anything. That link, of course, is from the Division of Information Technology Help Desk at the University of Wisconsin, and that helped point me in the right direction, as it mentioned needing to use JRE 1.5.11, or a version like that, and that eventually made me find a page where I could get JRE 1.5.11. After doing that, I was actually able to check time cards for my employees.

I’ve also encountered issues with the university’s installer for McAfee VirusScan coming with the Access Protection feature enabled by default. I see the wisdom behind this, as it’ll make sure quite a number of things do not happen to a student’s machine when they are clicking on phishing e-mails or Trojan-dropping sites, but at the same time, it makes trying to get the operating system and applications to remember a setting that is typically written to the registry from taking effect. If you have ever used Spybot’s TeaTimer setting, it was kind of like that, but that at least would ask you about the settings that were trying to be made; the issue jsut came from the typical number of settings that were being made. Again, I see the reason as to why, but it can be a pain. Speaking of Spybot, that’s an example of something that it was blocking: the immunization of IE from Spybot. That’s too bad, because for those that use IE still it offers another form of protection by adding a number of sites to an “always block” list in IE.

Aside from that, the installation and configuring of Vista hasn’t been bad at all, and I’ve been pleased with the UI so far. This is not the first time I’ve used Vista, but just the first time I’ve used it for an extended period that is probably going to become permanent.

Comments (1)

VB6 code for setting startup mode of services in XP or Vista

Here is some VB6 code to set the startup mode of a service in either Windows XP or Vista. Here is the code for disabling a service:

Private Function DisableService(strServiceName)
  Dim ErrorArray(24)
  Dim strComputer As String
  Dim oInstance

  ErrorArray(1) = "The request is not supported."
  ErrorArray(2) = "The user did not have the necessary access."
  ErrorArray(3) = "The service cannot be stopped because other services that are running are dependent on it."
  ErrorArray(4) = "The requested control code is not valid, or it is unacceptable to the service."
  ErrorArray(5) = "The requested control code cannot be sent to the service because the state of the service."
  ErrorArray(6) = "The service has not been started."
  ErrorArray(7) = "The service did not respond to the stop request in a timely fashion."
  ErrorArray(8) = "Unknown failure when stopping the service."
  ErrorArray(9) = "The directory path to the service executable was not found."
  ErrorArray(10) = "The service is already stopped"
  ErrorArray(11) = "The service database is locked."
  ErrorArray(12) = "A dependency which this service relies on has been removed from the system."
  ErrorArray(13) = "The service failed to find the service needed from a dependent service."
  ErrorArray(14) = "The service has been disabled from the system."
  ErrorArray(15) = "The service does not have the correct authentication to run on the system."
  ErrorArray(16) = "This service is being removed from the system."
  ErrorArray(17) = "There is no execution thread for the service."
  ErrorArray(18) = "There are circular dependencies when stopping the service."
  ErrorArray(19) = "There is a service running under the same name."
  ErrorArray(20) = "There are invalid characters in the name of the service."
  ErrorArray(21) = "Invalid parameters have been passed to the service."
  ErrorArray(22) = "The account, which this service is to run under is either invalid or lacks the permissions to run the service."
  ErrorArray(23) = "The service exists in the database of services available from the system."
  ErrorArray(24) = "The service is currently paused in the system."

  strComputer = "."
  Set oInstance = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2:Win32_Service.Name=" & Chr(34) & strServiceName & Chr(34))
  Set oMethod = oInstance.Methods_("ChangeStartMode")
  Set oInParam = oMethod.inParameters.SpawnInstance_()
  oInParam.StartMode = "Disabled"
  Set oOutParam = oInstance.ExecMethod_("ChangeStartMode", oInParam)
  If oOutParam.returnValue <> 0 Then
    MsgBox "Change of startup mode of " & oInstance.DisplayName & " to disable failed.  Reason: " & ErrorArray(oOutParam.returnValue)
  End If
End Function

Currently, the code is written as two different functions, DisableService and ManualService, with the code only being different on two lines, one functional and one for a message box, so technically it could be combined into one function, which accepts two strings: the service name and what to do. However, on my installation of VB6, it doesn’t want to call the function with parenthesis, which looks wrong and, well, I don’t trust it as a result. This could technically be a standard for VB6, but I’ve seen plenty of other code samples online that use parenthesis around functions accepting multiple parameters, so it could just be an issue with my machine, or me just not understanding VB6. Anyway, the chunk of code that would change would be:


  oInParam.StartMode = strSomeValue

and


  MsgBox "Change of startup mode of " & oInstance.DisplayName & " to " & strSomeValue & " failed.  Reason: " & ErrorArray(oOutParam.returnValue)

The value of strSomeValue could be any of the following:

  • Boot
  • System
  • Automatic
  • Manual
  • Disabled

With that said, if you had two functions, DisableService and ManualService, one way to call them could be:

Private Sub SetServices()
    On Error Resume Next
    ' Computer Browser
    DisableService ("Browser")

    ' Messenger
    DisableService ("Messenger")

    ' NetMeeting Remote Desktop Sharing
    DisableService ("mnmsrvc")

    ' Remote Access Auto Connection Manager"
    DisableService ("RasAuto")

    ' Remote Desktop Help Session Manager
    DisableService ("RDSessMgr")

    ' Remote Registry
    DisableService ("RemoteRegistry")

    ' Server
    DisableService ("lanmanserver")

    ' SSDP Discovery
    DisableService ("SSDPSRV")

    ' Telnet
    DisableService ("TlntSvr")

    ' Universal Plug and Play Device Host
    DisableService ("upnphost")

    ' Volume Shadow Copy
    ManualService ("VSS")

    ' Windows Image Acquisiton
    ManualService ("stisvc")

    MsgBox "Computer services have been analyzed and configured."
End Sub

To find out how to call a service, just open the Services window, my personal favorite method is Start->Run->services.msc, and just double-click on a given service. You’ll want to call a service via its service name, which, in Windows XP, is the first item on the General tab. At the moment, I’m not sure what the display looks like on Windows Vista, but I believe it to be very close to the same. If all else fails, you can also easily find a list of Windows services by searching the web, and the site will typically have suggested settings for each one and common uses.

Comments

Set Windows Firewall in Windows XP or Vista

Over a year ago, I wrote a VB6 program for configuring students’ machines on the network at BGSU; something they could run before they got here to make sure some basic settings were already configured. Previously, I have posted VB6 code for configuring Windows Automatic Updates, which, of course, sets the Automatic Updates for Windows. I was looking at this code to see what I was going to have to do to get it to work in Windows Vista, but I first decided to run it and see what would happen. Lo and behold, it worked as it was supposed to, which was a surprise.


Private Sub SetFirewall()
    On Error Resume Next
    Dim objFwMgr
    Dim objProfile

    Set objFwMgr = CreateObject("HNetCfg.FwMgr")
    If Err <> 0 Then
        MsgBox "Unable to access Windows Firewall."
    Else
        ' Get the current profile for the local firewall policy.
        Set objProfile = objFwMgr.LocalPolicy.CurrentProfile

        'Verify that the Firewall is enabled. If it isn't, then enable it.
        If objProfile.FirewallEnabled = False Then
            MsgBox "Windows Firewall has been detected as being disabled." & vbCrLf & "It will be enabled with Exceptions Allowed"
            objProfile.FirewallEnabled = True
            profile.ExceptionsNotAllowed = False
        End If
    End If
End Sub

Comments

VB6 code for setting Automatic Updates in Windows XP with Service Pack 2

Now, I know the currently this post will not interest my two known visitors, but this was part of a program to configure student’s computer that I made for work. In the next week or so I will be adding code samples for setting other network configuration items. Maybe one day I will add an exe or something.


Private Sub SetAutoUpdate()
    On Error Resume Next
    Dim strAUOptions As String
    Set WshShell = CreateObject("WScript.Shell")
    strAUOptions = WshShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\AUOptions")

    If strAUOptions <> "4" Then
        MsgBox "Automatic Updates has been detected as not being set to Automatic (the recommended setting)." & vbCrLf & "It will be set to download updates everyday at 6:00 AM."

        ' Create the keys that need to be written and then
        ' write the values into the keys

        ' Set download/install type to 4, which is automatically
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\", "AUOptions"
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\AUOptions", "00000004", "REG_DWORD"

        'WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\", "NoAutoUpdate"
        'WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\NoAutoUpdate", "00000000", "REG_DWORD"

        ' Set day to download/install to 'Everyday'
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\", "ScheduledInstallDay"
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\ScheduledInstallDay", "00000000", "REG_DWORD"

        ' Set time to download/install to 5:00 AM
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\", "ScheduledInstallTime"
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\ScheduledInstallTime", "00000006", "REG_DWORD"

        ' Reboot after installing if someone is logged in
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\", "NoAutoRebootWithLoggedOnUsers"
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\NoAutoRebootWithLoggedOnUsers", "00000001", "REG_DWORD"

        ' Set number of hours to check for updates if no connection to 14 hours
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\", "RescheduleWaitTime"
        WshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RescheduleWaitTime", "00000014", "REG_DWORD"
    End If
End Sub

3/12/07 Update: I recently tried this code on a installation of Windows Vista, and everything appeared to work.

Comments