2

I need to install Microsoft XML Parser 4.0 from Inno Setup. How can that be done?

I was given a task to embed MSXML in the installer of ours. It's a proprietary piece of software our company makes (for accounting, it uses XML to store and exchange data). Apart from modern systems It's also going to be installed on many old systems using Windows XP.

I'm using Inno Setup 6.1.2.

Also, is there a quiet mode of installation as an option? So the users won't have to click anything and just be notified that MSXML was installed?

StayOnTarget
  • 11,743
  • 10
  • 52
  • 81
JConstantine
  • 1,020
  • 7
  • 19
  • _Just run the installer?_ - I was given a task to embed MSXML in the installer of ours. It's a proprietary piece of software our company makes. _What system are you installing it on?_ - Apart from modern systems It's also going to be installed on many old systems using Windows XP. _What version of Inno Setup are you using?_ - It's 6.1.2. – JConstantine Dec 23 '21 at 12:35
  • _run the MSXML installer from your installer_ - That's ok, I guess. _Inno Setup 6 does not run on Windows XP._ - You mean Inno Setup 6 itself or the installers made with it as well? _You didn't explain what do you need MSXML 4.0 for._ - this is for accounting needs and it uses XML to store and exchange data. – JConstantine Dec 23 '21 at 13:45
  • Installers made with Inno Setup 6 do not run on Windows XP: https://jrsoftware.org/files/is6.0-whatsnew.htm#6.0.0 – And Inno Setup 6.1-made installers by default do not even run on Windows Vista and unpatched Windows 7: https://jrsoftware.org/files/is6.1-whatsnew.htm#6.1.0 – Martin Prikryl Dec 23 '21 at 14:19
  • And still if I want to run the MSXML installer from my installer, is it possible to do it silently so the users won't have to click anything and just be notified that MSXML was installed? – JConstantine Dec 23 '21 at 15:41
  • 1
    Most probably yes. Most installers do support silent installations. I didn't find MSXML 4.0 download, so I cannot test. But usually running the installer with `/?` will give you a help page. – Martin Prikryl Dec 23 '21 at 16:48

2 Answers2

1

Did you Google this?

https://silent-install.net/software/microsoft/msxml_parser/4.30.2107.0

Eg:

msxml.msi /qn /L* "%temp%\XML Parser 4.30.2107.0.log" /norestart ALLUSERS=2

If you look at the Msiexec (command-line options) it does say the qn switch will display no user interface.

Andrew Truckle
  • 17,769
  • 16
  • 66
  • 164
0

Somewhat of an aside, the requirement of installing both on XP and on 'modern' systems may create a conflict that you or your installer will have to resolve.

From Installing and Redistributing MSXML 4.0:

System Requirements

MSXML 4.0 is supported in Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista Windows Server 2003, Windows XP, and Windows 2000

From Installing and Redistributing MSXML 6.0:

System Requirements

MSXML 6.0 is supported in Windows Vista; Windows 2000 Service Pack 4; Windows Server 2003; Windows Server 2003 Service Pack 1; Windows XP Service Pack 1; Windows XP Service Pack 2.

MSXML 6.0 is preinstalled with Windows Vista. For earlier versions of Windows, you can install MSXML 6.0 as a separate download.

So you can only use MSXML4 below Vista. And with Vista and above you should be able to reply on MSXML6 already existing.

Your installer could perform an OS version check (alt ref) and then only install MSXML4 if needed. Or you might be able to detect specifically if MSXML6 is installed and then install MSXML4 only if not (assuming therefore its an older system).

But I would test your application (if you haven't already) and see if it will run against MSXML6; it may, without changes. If so then I would forget MSXML4 and include MSXML6 in the installer instead (*). That way your installer could just run it 100% of the time, and expect that on Vista and up it would just do nothing. Your installer would therefore be simpler plus you would be taking advantage of "MSXML 6.0 provides security and performance improvements over earlier MSXML versions." noted here.


(*) Unless you have to run on WinXP pre-SP1?

StayOnTarget
  • 11,743
  • 10
  • 52
  • 81
  • From what OP wrote I've understood that their app may specifically depend on MSXML 4.0. So MSXML 6.0 might not help. But I'm not sure. OP is not very specific. – Martin Prikryl Dec 24 '21 at 13:16
  • @MartinPrikryl if that's the case it sounds like they would have compatibility problems with "modern systems". That's what made it seem like MSXML4 might not be a strict dependency, but perhaps just the legacy version they have been using for a long time. – StayOnTarget Dec 24 '21 at 13:18