Randem Systems Support Board

InnoScript => InnoScript - General Questions, Report Bugs, Problems etc... => Topic started by: eyermonkey on October 18, 2005, 01:03:03 PM

Title: MSXML4.dll not installing properly
Post by: eyermonkey on October 18, 2005, 01:03:03 PM
I am trying to install MSXML4 with my project, but I am getting an error when I run the install file.
 
I think it is because MSXML4 is write protected because when I try to delete it I get an error saying I can't do that.
 
How do I resolve this?
 
PS - A question has been bugging me for a while: when inno installs DLLs does it automatically check the version and not overwrite if the computer already has a newer version?
Title: MSXML4.dll not installing properly
Post by: admin on October 18, 2005, 07:29:50 PM
eyermonkey,
 
I don't know what MSXML4 is or where it came from. If you can't delete it, check the properties on it to see if is read only.
 
There are flags for installation properties. The default setting is do not overwrite unless a newer version. You can check Inno Setups documentation for more information on the flags.
Title: MSXML4.dll not installing properly
Post by: eyermonkey on October 19, 2005, 07:11:28 AM
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?
Title: MSXML4.dll not installing properly
Post by: admin on October 19, 2005, 07:21:52 AM
eyermonkey,
 
Yes, use the flags: regserver restartreplace sharedfile on the file.
Title: MSXML4.dll not installing properly
Post by: eyermonkey on October 19, 2005, 12:50:23 PM
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?
Title: MSXML4.dll not installing properly
Post by: admin on October 19, 2005, 05:17:42 PM
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 (http://www.jrsoftware.org)
Title: MSXML4.dll not installing properly
Post by: eyermonkey on October 22, 2005, 07:26:18 AM
Thanks for your help randem.
 
I searched the InnoSetup newgroups and found this:
http://news.jrsoftware.org/news/innosetup/msg23596.html (http://news.jrsoftware.org/news/innosetup/msg23596.html)
 
I haven't tested it yet, but one of those methods is bound to work.
Title: MSXML4.dll not installing properly
Post by: eyermonkey on October 22, 2005, 08:54:49 AM
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.
Title: MSXML4.dll not installing properly
Post by: admin on October 22, 2005, 09:09:50 AM
eyermonkey,
 
Perhaps you might want to install the whole SP for Msxml http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&displaylang=en (http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&displaylang=en)
Title: MSXML4.dll not installing properly
Post by: eyermonkey on October 26, 2005, 12:43:19 PM
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 (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
Title: MSXML4.dll not installing properly
Post by: admin on October 26, 2005, 12:51:20 PM
eyermonkey,
 
That's a lot of flags for one file. But if it works...
 
Thanks for posting the solution.
Title: MSXML4.dll not installing properly
Post by: eyermonkey on October 26, 2005, 12:59:22 PM
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.
Title: MSXML4.dll not installing properly
Post by: srijit on September 07, 2007, 11:14:13 PM
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
Title: MSXML4.dll not installing properly
Post by: Randem on September 07, 2007, 11:16:40 PM
Include and Install the SP for XML
http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&displaylang=en (http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&displaylang=en)
 
in your installation package
Title: MSXML4.dll not installing properly
Post by: srijit on September 07, 2007, 11:57:22 PM
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 (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
Title: MSXML4.dll not installing properly
Post by: Randem on September 08, 2007, 12:00:49 AM
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.
Title: MSXML4.dll not installing properly
Post by: srijit on September 08, 2007, 12:03:12 AM
Thanks randem. I will try to do this