sma6871
sma6871

Reputation: 3298

Install a split MSI setup silently

I have to setup my application silently. I have created a MSI setup with Advanced Installer and Installshield but my problem is when my application size is bigger than one disk (DVD) and I split it to 2 or more.

I'm using Delphi to wrap MSI and get return codes from it, but in silent mode after the end of first disk the MSI returns 1602 code!

How can I get 1302 code from MSI, that means Please insert the disk: [2]?

This is my code to run MSI:

Result := FileExecute(handle, PChar(GetcurrentDir + '\' + setupFile),
    PChar(Format('/qn INSTALLDIR="%s" APPDIR="%s"  /l*v c:\temp\msi.log', [path, path])), '',
    SW_SHOWNORMAL, True);
  ShowMessage(IntToStr(Result));

Upvotes: 0

Views: 567

Answers (2)

Christopher Painter
Christopher Painter

Reputation: 55601

You can copy all of the files from all of the DVD's into a single folder on the system and then run your command. Instead of prompting for another disc, it'll find the cab and keep on going.

Upvotes: 0

David Heffernan
David Heffernan

Reputation: 613461

Create two versions of the .msi. One version you deliver on multiple DVDs. You cannot possibly install that silently because you cannot silently change physical media. And the second version you deliver as a single, unsplit, package. That version has no problem being installed silently because there is no need for human intervention to change media.

Upvotes: 1

Related Questions