Jump to content

Bug in latest HFSLIP regarding WMP11?


Arie

Recommended Posts

Not sitting behind my test machine at current, so doing this by heart, so forgive any mistakes I might make. I might have discovered a bug in the latest HFSLIP release. When you add all updates to your HF folder, IE7 and WMP11 and run HFSLIP the first time, everything goes well. The second time you run HFSLIP you'll get an error during the setup process regarding WMP11; something like unreg2.exe cannot find a certain DLL-file? Like I wrote, doing this by heart, but I"ve got screenshots on another machine if required, just currently not within reach. Anyway, I figured out what's causing this problem. When you run HFSLIP for the first time a subfolder is created in your HF folder for WMP11. This folder is not deleted at the end of the process. The second time you run HFSLIP, it sees this subfolder which is then empty (might have been empty the first time already, didn't check) and that's when the problem starts. HFSLIP runs fine, but you'll get this error during the setup process of Windows XP. Hope this is enough for now for some first troubleshooting, but when I can I'll add my LOG-file and some screenshots.

Link to comment
Share on other sites


Actually, if the WMP11 folder is not deleted by the time the HFSLIP process exits, then the HFSLIP process must have been interrupted at some point. When including the EXE setup file for WMP11 in HF, the following line takes care of the folder immediately after the components are extracted:

IF DEFINED RDWMP11DIR RD/Q/S HF\WMP11

If you run HFSLIP with an empty WMP11 folder, then some errors should be generated by the console while running HFSLIP. Tomcat76 should probably change this line to prevent problems if the WMP11 folder exists but is somehow empty:

IF EXIST HF\WMP11*.exe IF NOT EXIST HF\WMP11\*.* (

On the other hand, I noticed an unrelated bug while I was working on my 2000 SP4 source. Even though I'm pretty sure wmfdist.exe (from KB891122) was extracted properly, the system complained about being unable to delete setup_wm.exe from TEMP\WMPCOD. I should probably run HFSLIP again to confirm.

Edited by Super-Magician
Link to comment
Share on other sites

Remove the WMP11 subfolder and run HFSLIP again. Does HFSLIP remove it after creating it again?

I think the most probable cause of your problem is that you browsed into the HF\WMP11 folder that HFSLIP created and didn't get out of it before HFSLIP tried to delete it. DOS can't delete a folder if it's opened in a window at the same time; it will only remove its content.

Super-Magician...

The only problem with your suggestion is that "IF EXIST HF\WMP11\*.*" always returns "true" and "IF NOT EXIST HF\WMP11\*.*" always returns "false" even if the folder is empty. It's sort of a known limitation of DOS. You need to specify more than that, like "HF\WMP11\w*" or "HF\WMP11\*.exe", though that doesn't really tell us whether the folder is empty or not. One way to do that (without causing an error message to appear) is to create a dummy file, then set a variable based on whether there are any other files in the folder besides the dummy file and delete it afterwards but that would take things too far.

So I could use "HF\WMP11\*.exe" but I'm not sure if it's really that important. Making this change would require adding the line "IF EXIST HF\WMP11 RD/Q/S HF\WMP11" between the brackets, otherwise people might get an error message like "Folder already exists" when HFSLIP tries to create it. This adds an extra IF condition and I'm not sure it's really worth it.

Link to comment
Share on other sites

Super-Magician...

The only problem with your suggestion is that "IF EXIST HF\WMP11\*.*" always returns "true" and "IF NOT EXIST HF\WMP11\*.*" always returns "false" even if the folder is empty. It's sort of a known limitation of DOS. You need to specify more than that, like "HF\WMP11\w*" or "HF\WMP11\*.exe", though that doesn't really tell us whether the folder is empty or not. One way to do that (without causing an error message to appear) is to create a dummy file, then set a variable based on whether there are any other files in the folder besides the dummy file and delete it afterwards but that would take things too far.

So I could use "HF\WMP11\*.exe" but I'm not sure if it's really that important. Making this change would require adding the line "IF EXIST HF\WMP11 RD/Q/S HF\WMP11" between the brackets, otherwise people might get an error message like "Folder already exists" when HFSLIP tries to create it. This adds an extra IF condition and I'm not sure it's really worth it.

Oh, I forgot that there's always the "." and ".." in the filesystem so that command wouldn't work. Yeah, I see what you're saying. I don't think it's worth the extra code either. Thanks for clarifying.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...