Windows Server 2003
--
Questions
--
Followers
Top Experts
It seems like after reinstalling and doing a ASR Restore of my Windows 2003 Web server, then the GetDetailsOf() can only return values from the 0-8 parameter!
All parameters above doesnt work, and returns only an empty string!
You know the one that is being called via the Shell.Application object in ASP VBScript code.
(I need the Duration and BitRate of an MP3 file) - It worked before!
Any idea?
Zero AI Policy
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
Regards,
Rob.
If LCase(Right(Wscript.FullName, 11)) = "wscript.exe" Then
strPath = Wscript.ScriptFullName
strCommand = "%comspec% /k cscript """ & strPath & """"
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strCommand), 1, True
Wscript.Quit
End If
strFile = "C:\Temp\MyFile.mp3"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSystemInfo = objWMIService.ExecQuery _
("Select Caption from Win32_OperatingSystem",,48)
For Each objItem In colSystemInfo
strOS_Caption = objItem.Caption
Next
If InStr(strOS_Caption, "Vista") > 0 Then
' Vista has 267 attributes
ATTRIBUTE_COUNT = 266
Else
' XP has 41 attributes
ATTRIBUTE_COUNT = 40
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(objFSO.GetFile(strFile).ParentFolder.Path)
If (Not objFolder Is Nothing) Then
For Each strFileName In objFolder.Items
If LCase(strFileName) = LCase(objFSO.GetFile(strFile).Name) Then
For intItem = 0 To ATTRIBUTE_COUNT
strResults = strResults & vbCrLf & "(" & intItem & ") " & objFolder.GetDetailsOf(objFolder.Items, intItem) & ": " & objFolder.GetDetailsOf(strFileName, intItem)
Next
End If
Next
End If
Set objFolder = Nothing
Set objShell = Nothing
WScript.Echo strResults
PS: Im using classic ASP.
Should I save it as a .VBS file on my computer and try run it?
That code works.. so what should I do now?
How do I make it work again via my classic ASP code?






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
Regards,
Rob.
The properties 0,1,2,3,4,5,6,7 &Â 8 works fine, but all numbers above 8 just returns an empty string - no errors!
I need the 21 and 22 which have been working all fine before the server reinstall and ASR Restore of the server.
objFolder.GetDetailsOf(str

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
Here's a server side ASP page that should get the file properties.....but I think the user account that is running the web page needs to have read access to where the MP3 file is located.
Regards,
Rob.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test Page</title>
<%
strFile = Server.MapPath("\Rolling Stones - Paint It Black.mp3")
ATTRIBUTE_COUNT = 40
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(objFSO.GetFile(strFile).ParentFolder.Path)
If (Not objFolder Is Nothing) Then
For Each strFileName In objFolder.Items
If LCase(objFSO.GetFileName(strFileName.Path)) = LCase(objFSO.GetFileName(strFile)) Then
For intItem = 0 To ATTRIBUTE_COUNT
strResults = strResults & "<BR>" & "(" & intItem & ") " & objFolder.GetDetailsOf(objFolder.Items, intItem) & ": " & objFolder.GetDetailsOf(strFileName, intItem)
Next
End If
Next
Else
Response.Write "Could not find " & objFSO.GetFile(strFile).ParentFolder.Path
End If
Set objFolder = Nothing
Set objShell = Nothing
Response.Write strResults
%>
</head>
<body>
</body>
</html>
Your example is EXACTLY what I were doing, as You can see in my original entry in this forum.
The problem is that the GetDetailsOf() suddently doesnt work and cannot rettrieve information above the 8. parameter!
I HAVE all permissions on the IUSR and USERS, have also tried with modify.
Now I have also tried the Wolosoft's MP3Info but here I get error '80004005'.
Im REALLY frustrated now..
I can see on Google that another person have had the same problem with just parameters 0..8 working after reinstall - so maybe I just have to call Microsoft and scream a little...
But can it really be true, its not even possible to BUY a DLL that does the trick!??
http://support.microsoft.com/kb/918165/
that states there may be problems with Shell functions after installing an update.
There is talk of aquiring a "newer" patch, but that's dated 2006 as far as I can tell. Â Have you run through the Windows Update online to see if any new patches are available?
There is also talk of making sure you have a registry key of the following:
HKEY_LOCAL_MACHINE\SOFTWAR
with a value of 1
I have this on my system.
There's a few other registry keys you might like to check too.
I'm sorry you're frustrated. I can't replicate your issue so it makes it difficult.
Hopefully that article can shed some light for you.
Regards,
Rob.






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
Thank You for continuesly writing some ideas! :o)
I have checked, I have the registry entry like you.
I have also checked the article You sent, but it seems more like having something to do with HP and Nvidia problems.
Now I tried more than 10 DLL components to get ID3 tags like Duration and BitRate, and have also tried a component named MediaInfo, but it also returns an empty string for the Duration and BitRate parameters.
Rob.
But some of them wouldnt register with REGSVR32.exe and so on.
But the problem with empty Duration &Â BitRate (all values above 8) is ONLY happening with activex access via ASP's: Server.CreateObject("Shell
You know it worked fine (the exactly same code) when I call it from a standalone .VBS scriptfile directly on the server!
Its very strange that NOBODY? in the world have the same problem (yes actually one other person) - but NOBODY have the reason &Â solution!

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
On Win2003server &Â XP (different on Vista):
0 = Name - WORKING
1 = Size - WORKING
2 = Type - WORKING
10 = Title (21) - NOT working - returns empty string!
14 = Comments (24) - NOT working - returns empty string!
16 = Artist (13) - NOT working - returns empty string!
17 = Album Title (14) - NOT working - returns empty string!
18 = Year (15) - NOT working - returns empty string!
19 = Track Number (27) - NOT working - returns empty string!
20 = Genre (16) - NOT working - returns empty string!
21 = Duration (36) - NOT working - returns empty string!
22 = Bit Rate (28) - NOT working - returns empty string!
1)
Try using
Set objFSO = Server.CreateObject("Scrip
Set objShell = Server.CreateObject("Shell
instead of just
Set objFSO = CreateObject("Scripting.Fi
Set objShell = CreateObject("Shell.Applic
2)
Set Use Integrated Windows Authentication on the page with the code, via IIS Manager, Properties --> Security
3)
Then accessed the page using a Windows account with full rights to the path where the MP3 file is.
I think one of the main issues is that you may need to make sure that IUSR_YourMachine (or the authenticated user) has appropriate access to the folder in question.
Regards,
Rob.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test Page</title>
Â
<%
strFile = "D:\site\mysite\upload\Sas
Â
ATTRIBUTE_COUNT = 40
Â
Set objFSO = Server.CreateObject("Scrip
Set objShell = Server.CreateObject("Shell
Set objFolder = objShell.NameSpace(objFSO.
If (Not objFolder Is Nothing) Then
      For Each strFileName In objFolder.Items
           If LCase(objFSO.GetFileName(s
                 For intItem = 0 To ATTRIBUTE_COUNT
                      strResults = strResults & "<BR>" & "(" & intItem & ") " & objFolder.GetDetailsOf(obj
                 Next
           End If
      Next
Else
      Response.Write "Could not find " & objFSO.GetFile(strFile).Pa
End If
Set objFolder = Nothing
Set objShell = Nothing
Response.Write strResults
%>
</head>
Â
<body>
</body>
</html>
Then I get this:
(0) Name: Sash! - Encore Une Fois
(1) Size: 3.601 KB
(2) Type: MP3 Format Sound
(3) Date Modified: 13-02-2009 02:19
(4) Date Created: 13-02-2009 01:45
(5) Date Accessed: 16-02-2009 16:19
(6) Attributes: A
(7) Status: Online
(8) Owner: MYSERVER\IUSR_MYSERVER
(9) Author:
(10) Title:
(11) Subject:
(12) Category:
(13) Pages:
(14) Comments:
(15) Copyright:
(16) Artist:
(17) Album Title:
(18) Year:
(19) Track Number:
(20) Genre:
(21) Duration:
(22) Bit Rate:
(23) Protected:
(24) Camera Model:
(25) Date Picture Taken:
(26) Dimensions:
(27) :
(28) :
(29) Episode Name:
(30) Program Description:
(31) :
(32) Audio sample size:
(33) Audio sample rate:
(34) Channels:
(35) Company:
(36) Description:
(37) File Version:
(38) Product Name:
(39) Product Version:
(40) : Open in New Window Select All






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
So yes, I believe I can answer YES to all your 3 questions..
Whats next? :o)
PS: I have put the points up to maximum 500 point!
I dont know is it just a fictive point system? Or do I have to pay real money? (Im a newbie *s*)
regsvr32 -i C:\windows\system32\shell3
or
regsvr32 -i c:\windows\system32\wshom.
Regards,
Rob.
The regsvr32 -i wshom.ocx didnt - it said:
RegSvr32
wshom.ocx was loaded, but the DllInstall entry point was not found
This file can not be registered.






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
But I dont know - its like the command is being runned in silent mode when using the -i parameter!
1) Is that ok? And what does the "-i" ?
2) And also, do You know how to make the second line run without problems?
I think this comment of yours is a very interesting path we are trying now - I think it COULD be something like this issue.. My best guess IS that something must be wrong in the registry somehow after the reinstall.
On thing I remembered from after the reinstall is that its like there are 2 administrators now!
The oiginal, and then a new that the system created upon reinstall.
3) Do You think this can affect also?
You can try both lines without the /i. The /i calls the DllInstall method, which sometimes doesn't work.
regsvr32 -i shell32.dll
regsvr32 -i wshom.ocx
When I get to work, I'll check the version of both of those files on my 2003 web server, and we'll check those against yours.
Regards,
Rob.
ADMINI~1~MY-
Administrator
Administrator.MY-SERVER
All Users
All Users.WINDOWS
Default User
Default User.WINDOWS
LocalService
LocalService.NT AUTHORITY
NetworkService
NetworkService.NT AUTHORITY
Do You think it have something to do with that Shell.Application works from DOS, but not from ASP?
Sounds good You will try check Your versions - I will do the same :)
And also try to registrate without the -i parameter.
Thanx

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
SHELL32.DLL : 6.00.3790.4184 (srv03_sp2_gdr.071106-1258
WSHOM.OCX : 5.6.0.8832
Both english versions.
https://www.experts-exchange.com/questions/21861940/Why-are-Default-User-windows-and-All-Users-windows-system-folders-created.html
Given that, it could be possible that you've got two installations of the Windows folder itself, and therefore two entirely different sets of DLLs....
The versions on my 2003 Server with SP2 are exactly the same as yours...
Maybe the only resolution here is a fresh install....
Regards,
Rob.






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
Therefore I have ordered a new computer! I get it tomorrow and try install from fresh..
I hope it will work.. Just sad if I/we never find the cause of the problem.. that means it can happen again!
Also 1 other person have created issues in forums all over the internet with the exact same problem - but it doens seem like anybody came up with a solution...
Can you tell if there are two installations of the Windows folder?
The Shell is such an integrated part of Windows, it would be hard to tell why it's not working....
Rob.

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
Its just crazy (fucked up) sorry my language.. that people have to buy a new computer &Â install a fresh copy because
1) a normal Server Windows doesnt work and needs
2) ASR Restore and ASR Restore (which is Windows own recovery method) is not working and
3) then using Windows own reinstall feature and then it gets more fucked up..
Grr@Microsoft..
Sometimes thinking if its more easy to run ASP applications on APACHE server?
Regards,
Rob.
I have the following three boxes:
Windows 2003 Server with SP1
Windows 2003 Server with SP2
Windows XP Professional with SP2
I have set up IIS on each of them, enabled ASP, and the results of *both* 2003 Server boxes do *not* show the values beyond index 8, *but* the Windows XP (as a web server) *does* show those properties.
So there's some sort of security issue through ASP on 2003 Server that is stopping this from working. Â I'll fiddle with my server and see what I can find out....
Regards,
Rob.






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
What happens if you rename verclsid.exe to verclsid_old.exe or something, reboot, and see what happens?
Regards,
Rob.
But it HAVE been working for long time before on my 2003 version.. hmm..
I will try what You suggest.. What does this file?
It seems a LOT of people have renamed verclsid.exe to overcome such problems.
Regards,
Rob.

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
It STILL doenst work!
BUT.. yes.. I HAVE installed all security updates..
So now I will try Your suggestion with the strange file..
I think now I HAVE to call Microsoft.. and create a support incident... but I hope I dont have to PAY for this as I can only see it as Microsofts own error.
Can You see any other differences, besides the actual os?
I think of:
- locale setting
- directory security
- MIME types
- driveletter of harddrive?
- where is the website located? inside / outside www-root? Same disk as OS?
- IIS execute permissions
- IIS application pool
- IIS application name
- IIS version
- Windows security updates
- users that have permission to access the folder of the mp3 file






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
Hmm.. You remember You asked me to rename the VERCLSID.EXE to _old ?
Somehow there came a new copy of the original file all by itself, so now I have both:
VERCLSID.EXE
VERCLSID_OLD.EXE
in my system32 folder.
Do You know how that can be?
I just went in there to rename the _old back again to original name.
They told they would reply within 8 hours, but now 2 days has gone and now its weekend!
Hmm..
Still only returns parameters from 0 to 8.

Get a FREE t-shirt when you ask your first question.
We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.
It is completely undocumented on MS website, and I can't find mention of the same fix anywhere else. Â So we were somewhat close with the adding of the cached keys for the NVidia drivers and stuff, it just wasn't the right one! Â A search through the registry shows that the class:
{875CB1A1-0F29-45DE-A1AE-C
is the "Audio Media Properties Handler", so that class is specific to your issue....we never would've found that without MS I don't think.....
I'm glad we hung in there, this was an interesting (albeit very annoying) problem.
Regards,
Rob.
And yes.. NOWEHERE people have found the solution before now.. And YES Microsoft have also NOT documented it! I was told that from my Microsof contact!
The MOST annoying thing from MY point of view is that in my country its NOT possible to get free support from Microsoft and also its not possible just to report a "bug"!
Actually it would cost me several thousands 2.200,- DKK + 25% tax.. and "ONLY" if Microsoft admits that its their fault, then I dont have to pay...!!
So that why I waited with contacting Microsoft after having been trying and testing EVERYTHING else Myself.. including this forum + many other forums..
Somehow I just KNEW it had to have something with a security update to do.. But I HAD tried to remove more than the last 10 securityupdates without any luck.
Have a nice day! ;o)






EARN REWARDS FOR ASKING, ANSWERING, AND MORE.
Earn free swag for participating on the platform.
Windows Server 2003
--
Questions
--
Followers
Top Experts
Windows Server 2003 was based on Windows XP and was released in four editions: Web, Standard, Enterprise and Datacenter. It also had derivative versions for clusters, storage and Microsoft’s Small Business Server. Important upgrades included integrating Internet Information Services (IIS), improvements to Active Directory (AD) and Group Policy (GP), and the migration to Automated System Recovery (ASR).