MSXML4.dll not installing properly

Started by eyermonkey, October 18, 2005, 01:03:03 PM

Previous topic - Next topic

srijit

Thanks randem. I will try to do this

Randem

Yes, it needs to be in the run section. Which file you use it up to you. If you do not want to run the Windows Installer you use the exe and if you do then you use the .msi file with the windows installer program to run it. I forget the name of it but if you look in the Crystal Reports template it is used there so you can just copy the line and replace it with the file that you want to run.

srijit

i am using msxml3, so i guess this is the link
http://www.microsoft.com/downloads/details.aspx?familyid=4A3AD088-A893-4F0B-A932-5E024E74519F&displaylang=en
 
Now i see that i have two options
msxml3.msi or msxml3msms.exe
 
which file should i use?
 
Also in Inno Setup, do i put this under [Run] like the AutoOSUpdater?
Filename: {tmp}\VB_DCOM_MDAC_JET_AutoSetup.exe; Parameters: /NORESTART /VERYSILENT; WorkingDir: {tmp}; Flags: skipifdoesntexist; Tasks: AutoOSUpdater
 
I am a Inno newbie and i appreciate your help  
Does this need to run if the app is to be deployed on Windows Vista? Or will it automatically detect the OS and install accordingly?
 
Regards,
Srijit


srijit

If i want to distrubute msxml3.dll should i also distribute msxml3r.dlll and other such files?
Also should i put these file along with my app to prevent overwriting system files on old systems?
Thanks

eyermonkey

No problem  
 
You're right it is a lot of flags. Not that that is too big of deal though. I bet that some could be trimmed down. Maybe the only necessary one is noregerror, but unless I see a reason to remove some, I will leave them as is.

admin

eyermonkey,
 
That's a lot of flags for one file. But if it works...
 
Thanks for posting the solution.

eyermonkey

I finally figured it out with the help of the people on the InnoSetup newsgroup:
 
http://news.jrsoftware.org/read/article.php?id=52422&group=jrsoftware.innosetup
 
 
Here are the flags I needed:
comparetimestamp regserver restartreplace sharedfile uninsneveruninstall overwritereadonly noregerror promptifolder onlyifdoesntexist


eyermonkey

On second thought. That didn't work either. I got this error when I tried the 3rd method from the link above (it might be because I am missing msxml4a.dll and only have msxml4.dll and msxml4r.dll):
 
[11:46:26]   Registering 32-bit DLL/OCX: C:WINDOWSsystem32msxml4.dll
[11:46:26]   Registration failed: DllRegisterServer failed; code 0x80070005.
   Access is denied.
[11:46:26]   Message box (Abort/Retry/Ignore):
   C:WINDOWSsystem32msxml4.dll
   
   Unable to register the DLL/OCX: DllRegisterServer failed; code 0x80070005.
   Access is denied.
   
   Click Retry to try again, Ignore to proceed anyway (not recommended), or Abort to cancel installation.
[11:46:39]   User chose Ignore.
[11:46:39]   Registering 32-bit DLL/OCX: C:WINDOWSsystem32msxml4r.dll
[11:46:39]   Registration failed: GetProcAddress failed; code 127.
   The specified procedure could not be found.
[11:46:39]   Message box (Abort/Retry/Ignore):
   C:WINDOWSsystem32msxml4r.dll
   
   Unable to register the DLL/OCX: GetProcAddress failed; code 127.
   The specified procedure could not be found.
   
   Click Retry to try again, Ignore to proceed anyway (not recommended), or Abort to cancel installation.

eyermonkey

Thanks for your help randem.
 
I searched the InnoSetup newgroups and found this:
http://news.jrsoftware.org/news/innosetup/msg23596.html
 
I haven't tested it yet, but one of those methods is bound to work.

admin

eyermonkey,
 
I can register this file. My version is 4.20.9818.0. What is the version you are attempting to register and what is the version of the one on the system already. What SP's do you have installed?
 
The Inno Setup board is at http://www.jrsoftware.org

eyermonkey

I already had those flags on it. It still gives me this error when I try to install it on any computer (including mine):
 
C:WINDOWSSystem32msxml4.dll
 
Unable to register the DLL/OCX: DllRegisterServer failed; code 0x80070005. Access is denied.
 
Click retry to try again, Ignore to proceed anyway (not recommended), or Abort to cancel installation.
 
 
It looks like its not overwriting the file, but is trying to register it and since it is locked (for whatever reason) RegServer won't register it.
 
Do you have any ideas or should I find the InnoSetup support boards?

admin

eyermonkey,
 
Yes, use the flags: regserver restartreplace sharedfile on the file.

eyermonkey

MSXML4 is Microsoft XML version 4. It is a DLL you can download from microsoft (although earlier versions are likely already on your computer).
 
I did check its properties and it is not Read Only. I get the feeling that that some application uses it and locks it programatically, but I'm not sure.
 
Is there any flag I can add to have it ignore overwriting the DLL if an error occurs? Or something to get rid of the error is occuring?