Posts filed under 'computers'

can’t start error log service, or automatic updates 0×80070005 access denied, or dtc

system event logs were set to read only

Add comment April 7th, 2009 at 04:01pm

Visual Studio 2008 Service Pack 1 install hangs near the end (warning 1909 command prompt lnk)

So continuing with my Visual Studio 2008 installs (and how horrible the installation procedure is), I had a system that ran the Service Pack 1 install and seemed to hang at the end. Normally, I just schedule the install and let it do its thing with unattended setups and an auto-reboot at the end. I got a call from the user saying the SP1 was still installing and this was 5 hours later. I know the SP1 install takes forever, but 5 hours was a little much. So I tried to cancel the install but no luck, so I had to end task SPInstaller.exe.

Off to the log files I go. Wait a minute…the SP1 log file is 5GB! What’s going on?! I wasn’t about to open such a huge file so I deleted all the log files and re-ran the install in non-unattended mode. Shortly after starting the install, it failed with an “Installation suspended, incomplete” message. I thought this meant something but in the end, all it means is that a previous install failed and it rolled some stuff back.

So I ran the install again and this time, it went further, like normal. I noticed on other systems the log file would only grow to 20-30MB so I waited until the log file grew to about 50MB and then end tasked the installer again. I opened up the log file and the end was filled with this message over and over:

Warning 1909. Could not create Shortcut Visual Studio 2008 Command Prompt.lnk. Verify that the destination folder exists and that you can access it.

Why couldn’t it create the shortcut? Who knows? Google, probably. I just searched for “warning 1909″ and saw a bunch of stuff about the Office installer failing with this message. None of the fixes seemed to apply to me. I checked the permissions at C:\Documents and Settings\All Users\Start Menu\Programs and everything seemed good. The VS2008 program folder existed and permissions were also normal.

Well, long story short, this forum thread helped me resolve my issue (I guess this problem also occurs with VS2005). It was on the second page of my search and it’s weird that if I had searched for my message with quotes around certain parts, this result would’ve been hidden by Google.

Anyway, I looked at the system environment variables to see if the ComSpec variable was set incorrectly. And it sure was. It was…missing. Argh, why did the user do that for?! I recreated the ComSpec variable and set it to %SystemRoot%\system32\cmd.exe and re-ran the installer. Everything worked after that. I guess the installer uses that environment variable to determine how to create that command prompt shortcut.

3 comments December 4th, 2008 at 12:28pm

.NET Framework 2.0 SP1 setup error 25015 failed to install assembly access is denied

So I’m running the Visual Studio 2008 install on a system the other day and it’s failing. Long story but we’re installing the .NET Framework 2.0 SP1 redistributable first to avoid the automatic reboot with the unattended VS2008 install. So the .NET install runs in unattended mode and near the end, it gives an error:

Error 25015.Failed to install assembly ‘C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll’ because of system error: Access is denied.

I checked that the file existed and the permissions were normal. I looked at the log files and couldn’t find anything useful. I installed a file unlocking program to see if the file was in use and needed to be unlocked but it was never in use. I ran Filemon and Regmon to see if I could notice any weird behavior but I didn’t recognize anything out of the ordinary.

I turned to Google for some quick solution but didn’t find anything so I thought the next best thing to do would be to uninstall the existing .NET Framework 2.0 installation. Sure it gave me a warning that things would stop working (like the user’s install of VS2005!) but that was a risk I was willing to take to get this over with.

So I uninstalled the base 2.0 installation and then tried to run the SP1 install again. Same deal. So I ran the base 2.0 install to see if that would work. Nope. Same error.

So back to Google I went. Googling for ‘error 25015′ returned a bunch of proposed solutions. There was never a solution to the exact error message that I had but I was willing to try anything. With each one that I discovered, I thought I had found the solution. I’ll consolidate them here with some comments on how they worked for me.

  • The first things I tried were what was suggested in Aaron Stebner’s blog since these MSDN guys always have the answers to Visual Studio related issues.
    • I ran the guy’s SubInAcl script, which seemed like a good idea. Reset all the permissions on the important registry keys and system folders. Perfect. Same error.
    • So I ran the guy’s .NET Cleanup Utility, which seemed like a good idea. Clean up all the .NET files and registry keys that might be causing problems. Perfect. Same error. I ran the utility choosing just to clean up 2.0 and when that didn’t work, I ran it choosing to clean up all versions of the .NET Framework. Same error. I ended uninstalling .NET 1.0 and 1.1 with no help.
  • The next things I tried were suggested in the MSDN forums.
    • There were many success reports in this thread which involved deleting/renaming the C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 folder. Tried that. Didn’t help.
    • There were many success reports in this thread about delete/renaming/resetting permissions on the C:\Windows\Assembly folder. Tried that. Didn’t help.
    • Finally, on the very last page of the Google results for, I found this thread about deleting/renaming the C:\Windows\WinSxS\Policies folder. I looked inside and at this point, I had already uninstalled VS2005 so I knew I could delete any of the folders that contained VS80 or VS90 (from VS2008) in them. I was liberal in my deleting and decided to delete matching folders one folder up (C:\Windows\WinSxS). Then I noticed a little folder by itself at the bottom of the list in the WinSxS folder. It contained “System.EnterpriseServices” in the name!!! Holy crap! DELETED! Ran the install again and voila! It worked! I never looked at what was inside that folder on this machine before deleting it but I guess there was a corrupt file in there or something.

Well, this basically took up my whole day because now I had to reinstall VS2005 and then go back to what I was originally doing, installing VS2008 + SP1 and we all know how long that takes. :sigh:

5 comments December 4th, 2008 at 11:58am

ndis.sys driver_irql_not_less_or_equal blue screen (bsod) after installing Virtual PC and booting up with network cable plugged in

Ever since Microsoft began offering Virtual PC for free to download, a lot of users have been installing it to test out the usefulness of virtual machines. A couple laptop users complained that their machines would blue screen while starting up Windows with the wired network cable plugged in, although Windows would start up fine with the cable unplugged (which could then be plugged back in after login). I couldn’t figure it out but did narrow it down to Virtual PC 2004 being installed. I finally had the chance to work on one of these laptops for longer than five minutes and began my search on Google for the answer since I sure couldn’t do it myself.

All of my searches for a combination of the words “virtual pc ndis.sys blue screen driver_irql_not_less_or_equal” came up with irrelevant results. The only page that came close was this newsgroup post that suggested that there was a conflict between Virtual PC and the VPN client (Nortel Contivity VPN) installed on the laptop. So I went off searching for more details about the conflict and found this page that suggested uninstalling both Virtual PC and the VPN client, then reinstalling Virtual PC first before reinstalling the VPN client.

Well, first I uninstalled the VPN client and tested to see if the problem really went away. It did. I noticed that version 5.x of the client was installed so I tried installing 6.x. The problem came back. Uninstalled VPN, uninstalled Virtual PC, rebooted, reinstalled Virtual PC, rebooted, reinstalled VPN, rebooted, blue screen.

I decided to see why these two software would conflict. I went to Control Panel, Network Connections, opened the properties of the wired connection and examined the list of services and protocols enabled for the connection. The ones of note were the network filter services: Virtual Machine Network Services (from Virtual PC), Eacfilt (from VPN client), and Odyssey Network Services (from Funk Odyssey wireless client software). I unchecked the Virtual PC service from the adapter, rebooted, and everything was fine except that the adapter was no longer available for use within Virtual PC.

Back to the services list, I couldn’t uncheck the VPN service since the user would need it on this adapter but I wondered why the Odyssey service was enabled on the wired adapter. I rechecked the Virtual PC service and unchecked the wireless service. Rebooted and everything was fine! Checked to make sure Odyssey was working with the wireless adapter, checked to make sure Virtual PC worked with both adapters, and checked to make sure VPN worked with both adapters. Success!

Summary: If you’re getting the same type of blue screen from NDIS.SYS that I observed, check your list of services enabled for the wired adapter and disable any unnecessary services. Good luck!

2 comments January 5th, 2007 at 03:04pm

SUSE AutoYaST setting X keyboard layout to German

Wondering why your Y and Z keys are swapped in X? That’s probably because the keyboard layout is set to German (de) instead of English (us). Did you say you used SUSE AutoYaST and had it configured for the english-us keyboard mapping? Well, we had a couple of AutoYaST configuration files and the layout problem only occurred for a couple of them. I compared the XML files and noticed that in the keyboard section, the ones that didn’t work contained extra settings before the keymap setting (I didn’t make them!). I removed the entries and now the keyboard layout is set correctly!

I tried to search for the XML schema and was only able to find this one page with any useful information. Looking at it, we can see that the only setting that should be defined under the keyboard section is keymap. If there’s anything else in that section, the section is invalid and therefore skipped! I guess the default (alphabetically?) keymap setting is German (de), hence our problem. Here’s a little excerpt from an XML file to point out what to look for:

<?xml version="1.0"?>
<!DOCTYPE profile SYSTEM "/usr/share/autoinstall/dtd/profile.dtd">
<profile xmlns="" xmlns:config="">

There shouldn’t be anything in the keyboard section except for keymap. Anyway, if you don’t want to go through the trouble of reinstalling the OS, you can easily change the X keyboard layout (assuming you’re using Xfree86). At the shell, open up /etc/X11/XF86Config and look for the following lines. Make sure the XkbLayout setting is set to ‘us’. Then restart the X server by pressing Ctrl-Alt-Backspace.

Section "InputDevice"
  Driver       "Keyboard"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "us"
  Option       "XkbModel" "pc104"
  Option       "XkbRules" "xfree86"

Add comment February 16th, 2006 at 03:30pm

Explorer.exe 100% CPU usage after login (webcpl.dll)

Explorer.exe started using 100% CPU about 5 minutes after login. The user had run Spybot, Ad-Aware, and Trend Micro scans and nothing showed up. I took a look at the startup items with msconfig and couldn’t find anything myself. I first ran Process Explorer and couldn’t find anything obvious that was hooked into explorer.exe that would cause the problem (moral of the story: I didn’t know how to use Process Explorer). I ran TCPView and noticed that at login, explorer.exe was trying to connect to an IP address (which didn’t respond to pings). As soon as the TCP connection died, explorer.exe CPU usage jumped to 100%. If I end-tasked explorer.exe and re-ran it, it wouldn’t try to make the connection again and it would never use 100% CPU again. If I booted up without a network connection, everything was okay. Once I connected though, explorer.exe would try to make the TCP connection with the mysterious IP again.

After tons and tons of troubleshooting (Filemon, Regmon, SFC, etc.) and searching for solutions (”explorer.exe 100% cpu”, “explorer.exe 99% cpu”, “explorer.exe 90% cpu”, “explorer.exe syn_start”, “explorer.exe close_wait”, “OMG!”), I took a deeper look at Process Explorer’s features. I thought all I could do with the program was look at (and close) the open handles of a process with the main window but if you right-click on a process and go to Process Properties, there’s also a useful Threads tab. In this tab, I was able to find a thread which was created by (right?) webcpl.dll and was using 100% CPU. I was able to kill the thread and voila! Explorer.exe was acting normal again. I found the culprit in %windir%\system32. I opened the file up in Notepad and I found a reference to the IP that TCPView showed. I deleted the file, found one reference in the registry to the DLL, and deleted that (probably should’ve unregistered it instead?).

Now everything is happy. Explorer.exe is no longer trying to connect to the IP and it doesn’t use up the CPU. I searched for more information about the DLL but all I could find was a forum thread about Panda Antivirus detecting it as the Downloader.GRG trojan and not being able to delete it. Panda’s site didn’t have much information about it though. Oh well.

35 comments January 12th, 2006 at 04:32pm

Some files can harm your computer.

While visiting a secure trusted site in IE, you may encounter links to files which cannot be opened or saved. You receive the message: Some files can harm your computer. If the file information below looks suspicious, or you do not fully trust the source, do not open or save this file. You search and come up with KB840386: Cannot open an Excel 2003 workbook by using Internet Explorer 6.0 but it’s no help. The page says there’s a hotfix but you need to have a service agreement with Microsoft to download it.

The solution? I found this page ( which contained a solution posted by an anonymous user. Go to Tools > Internet Options > Advanced tab > Uncheck “Do not save encrypted pages to disk.” What’s really happening is that the file is being served over a secure connection so with that option enabled, IE is not allowed to save it to the disk. Therefore you can’t download the file or even open it since it cannot save it temporarily to disk. This option is disabled by default.

Unfortunately, the page that contains the solution isn’t found when searching for the exact error message. Instead, I found it by accidentally searching for “some files may harm your computer.”

5 comments December 12th, 2005 at 05:28pm

nforce2 no digital out

download and extract unified drivers 3.x and use soundstorm util to disable dolby digital

Add comment July 6th, 2005 at 02:12pm

Honda Accord can’t start engine when it’s hot outside (main relay)

Honda Accord can’t start engine when it’s hot outside? Probably need to replace the main relay! Honda Main Relays - Mid 80s-Early 90s Accord, Civic & Prelude: Main Relay Fix

Add comment June 27th, 2005 at 10:36am

PHP Apache and Cygwin

Boy did I have a hard time getting PHP and Apache to work under Cygwin. I had to set the environment up for a class project so first I did what any reasonably lazy person would do–check for a Cygwin package. I only saw the Apache package but I needed PHP too so I decided to hold off on installing it. So next I did what any reasonably lazy person would do next–Google for a page posted by someone who did the work already so I wouldn’t have to.

After browsing through numerous pages of Google results, I couldn’t come up with anything for the search terms ‘cygwin apache php’. Of course now that I just re-searched for those terms, the page I ended up with at the end of my journey is the fifth result. More on that later.

Instead, this site (Index of /support/cygwin-packages/apache-modules/mod_php4) caught my eye. It was the eighth result and I thought to myself, “OMG, there’s a package available!” So off I go to download and install the package. I installed the Apache and Apache-PHP packages. Now I might not be the most experienced Cygwin user so maybe I didn’t install the package correctly because it didn’t check for any of the dependencies. After looking at the setup.hint file, I installed the required packages and I thought I was set (cygwin apache libgdbm openssl bzip2 zlib gettext libxml2 postgresql libbz2_0 libbz2_1 rebase).

To start Apache, I ran ‘/usr/sbin/apachectl start’ and I saw that it started the http daemon. Woohoo! I made a test PHP file in /var/www/htdocs but it wasn’t being parsed. What gives? I looked at /etc/apache/httpd.conf for the appropriate PHP module lines but they weren’t there. Then I realized that installing both the Apache and Apache-PHP packages at the same time must not have been a good idea. I reinstalled the Apache-PHP package and it made the appropriate changes to the httpd.conf file. Now to restart the daemon…

# /usr/sbin/apachectl start
Syntax error on line 236 of /etc/apache/httpd.conf:
Cannot load /usr/lib/apache/libphp4.dll into server: dlopen: Win32 error 998
/usr/sbin/apachectl start: httpd could not be started

Hrm? Being the reasonably lazy guy that I am, I set off to Google in search for an answer. The results were mostly mailing list archives for people getting the error message without a resolution. Some people suggested rebasing the DLL so I tried that. Nope, same error. Other people suggested running ‘cygcheck libphp4.dll’ to check for any dependency problems. I did that and received some ‘could not find something.dll’ errors. So I tried to look for them and also for any packages which might have them. I couldn’t find cyghttpd.dll or cygcrypto.dll and I googled for the packages containing them but it seems that I already had them (Apache and OpenSSL). So I just made copies of libhttpd.dll and cygcrypto-0.9.7.dll to the respective missing files and hoped that the problem would be solved. I ran cygcheck and everything was okay so I tried to start up http daemon again. Same error.

I decided to rethink the strategy to take. How about compiling PHP myself? So I downloaded the PHP source files and looked at the INSTALL file. I decided to just try ‘./configure’ without any parameters first because I didn’t want to deal with them (read: lazy). It said it couldn’t find lex. D’oh, another package to install (flex). Then I ran configure again and it started doing it’s thing.

While configure was running, I decided to go back to my Google search results and see if I could find any useful information. Then I stumbled upon this page (Cygwin/apache/php - discypus). The Google page summary was in Japanese and what’s a discypus? Who knows, let’s click on the link! Even though I’ve only had four quarters of Japanese and couldn’t read any of the kanji, I understood “Apache 1.3.29-2 + PHP 4.3.8 (2004-07-26)”. I scrolled down a little more and, “OMG! PHP compiling instructions for Cygwin!” Since this information was on a Japanese site, I cancelled my configure immediately. I followed the instructions to a T and ended up with a working Apache with PHP (minus the MySQL which I didn’t really need anyway). The Discypus wiki is a goldmine of Cygwin information (and more!). Moral of the story? Trust any Japanese sites you visit.

Here are the instructions with some translatations. All credit goes to Discypus.

1. Required Cygwin packages (in addition to the ones mentioned above):

$ grep -A20 '@ apache' setup.ini | grep require
requires: cygwin crypt libgdbm4

$ cygcheck -cd cygwin apache crypt libgdbm4
Cygwin Package Information
Package              Version
apache               1.3.29-2
crypt                1.1-1
cygwin               1.5.10-3
libgdbm4             1.8.3-7

2. Extract the PHP source files:

$ cd /usr/local/src/php

$ tar jxvf php-4.3.8.tar.bz2

3. Run configure:

$ cd php-4.3.8

$ ./configure --with-apxs=/usr/sbin/apxs --without-mysql --enable-mbstring
creating cache ./config.cache
checking host system type... i686-pc-cygwin
creating main/internal_functions_cli.c
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
|                          *** NOTE ***                              |
|            The default for register_globals is now OFF!            |
|                                                                    |
| If your application relies on register_globals being ON, you       |
| should explicitly set it to on in your php.ini file.               |
| Note that you are strongly encouraged to read                      |
|          |
| about the implications of having register_globals set to on, and   |
| avoid using it if possible.                                        |

Thank you for using PHP.

4. Modifying the Makefile:

$ sed 's/' Makefile
$ diff Makefile

5. Run make:

$ make
Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

6. Compile the PHP libraries:

$ cd libs
$ ls
$ gcc -shared -o libphp4.dll -Wl,--out-implib=libphp4.dll.a 
-Wl,--whole-archive libphp4.a /bin/cyghttpd.dll 
-Wl,--no-whole-archive -lcrypt -lresolv
Creating library file: libphp4.dll.a
Info: resolving _ap_user_id by linking to __imp__ap_user_id (auto-import)
Info: resolving _ap_group_id by linking to __imp__ap_group_id (auto-import)
Info: resolving _ap_user_name by linking to __imp__ap_user_name (auto-import)
Info: resolving _ap_max_requests_per_child by linking to __imp__ap_max_requests_
per_child (auto-import)
Info: resolving _ap_server_root by linking to __imp__ap_server_root (auto-import
Info: resolving _top_module by linking to __imp__top_module (auto-import)
$ ls
libphp4.a  libphp4.dll  libphp4.dll.a

7. Run make install:

$ cd ..
$ make install
Installing PHP SAPI module:       apache
[activating module `php4' in /etc/apache/httpd.conf]
cp libs/libphp4.dll /usr/lib/apache/libphp4.dll
chmod 755 /usr/lib/apache/libphp4.dll
cp /etc/apache/httpd.conf /etc/apache/httpd.conf.bak
cp /etc/apache/ /etc/apache/httpd.conf
rm /etc/apache/
Installing PHP CLI binary:        /usr/local/bin/
Installing PHP CLI man page:      /usr/local/man/man1/
Installing PEAR environment:      /usr/local/lib/php/
[PEAR] Archive_Tar    - installed: 1.1
[PEAR] Console_Getopt - installed: 1.2
[PEAR] PEAR           - installed: 1.3.2
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
[PEAR] DB             - installed: 1.6.2
[PEAR] HTTP           - installed: 1.2.2
[PEAR] Mail           - installed: 1.1.3
[PEAR] Net_SMTP       - installed: 1.2.3
[PEAR] Net_Socket     - installed: 1.0.1
[PEAR] XML_Parser     - installed: 1.0.1
[PEAR] XML_RPC        - installed: 1.1.0
Installing build environment:     /usr/local/lib/php/build/
Installing header files:          /usr/local/include/php/
Installing helper programs:       /usr/local/bin/
  program: phpize
  program: php-config
  program: phpextdist

8. Make sure the following two lines were added to /etc/apache/httpd.conf (if not, add them):

LoadModule php4_module        lib/apache/libphp4.dll
AddModule mod_php4.c

9. Add the following two lines to the same file in the appropriate section (I just added the first line to the end of the file):

# Document types.

   # for PHP 4.x
   AddType application/x-httpd-php .php
   AddType application/x-httpd-php-source .phps

10. Check the contents of httpd.conf:

$ /usr/sbin/apachectl configtest
Syntax OK

11. Start the http daemon

12. Create a test file /var/www/htdocs/phpinfo.php:

<?php phpinfo(); ?>

13. Test the file at http://localhost/phpinfo.php

18 comments May 31st, 2005 at 10:15pm

Next Posts


November 2020
« Jan    

Posts by Month

Posts by Category