6

Install shield premiere 2009: Basic MSI from command line typing setup.exe /s /v/qn installs silently. But if its installed once before it chooses "Modify" by default and doesn't go for replacing files. But i need to copy again the files. How to perform "Repair" on second silent install by default?

Bill Hileman
  • 2,798
  • 2
  • 17
  • 24
Samir
  • 3,923
  • 9
  • 36
  • 43

4 Answers4

2

First of all: it looks like we need some more details as to what you are trying to achieve. do you want to reinstall the product to fix any broken components, or do you want to install a new version of the product (potentially side-by-side with the previous setup).

William's answer looks correct, but there may be some issues with the quotes. The behavior you describes indicates that Windows Installer wasn't able to parse the command line. I haven't tested this but try:

Setup.exe /s /v"/f {11111111-1111-1111-1111-111111111111} /qn"

Some background info: setup.exe is an Installshield-provider setup launcher. Anything after /V in the command line is passed "as is" to the main Windows Installer exe file msiexec.exe (msiexec.exe command line parameter reference).

Please note that Windows Installer is unlike any prior deployment solution. Once you have installed an MSI, Windows Installer keeps a record of the installation's internal GUIDs. It is hence not possible to install multiple instances of the same product (unless you design the MSI for this).

Some msiexec.exe sample command lines:

Install:

  • msiexec.exe /i MySetup.msi /q

Uninstall:

  • msiexec.exe /x MySetup.msi /qn
  • msiexec.exe /x {11111111-1111-1111-1111-111111111111} /qn

Repair:

  • msiexec.exe /f MySetup.msi /qn
  • msiexec.exe /f {11111111-1111-1111-1111-111111111111} /qn

Admin Image (extract source files from MSI):

  • msiexec.exe /a MySetup.msi TARGETDIR="C:\ExtractSourcesHere"

Remove /qn from any of the above command-lines to run interactively instead of silently.

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
  • I need to install the program silently[basic msi installer]. Case-1: if the program is not installed. What I need: Install it What i did: setup.exe /s /v/qn Case-2: if the program is already installed. What I need: again install the program. Why I need: may be there will be file missing. So I need a single command to execute that would meet the above two cases. – Samir Jun 30 '09 at 17:40
1

InstallShield@2009

Add follow code:

function OnMaintUIBefore() ... ... begin // if is silent mode then set as Repair mode and proceed if (MODE = SILENTMODE) then nType = REPAIR; goto Dlg_SdFeatureTree; endif;

1

I just found the solution: For Basic MSI, open the Property Manager view and set the property _IsMaintenance to "Reinstall".

K.K
  • 11
  • 1
0
Setup.exe /s /v"/f {11111111-1111-1111-1111-111111111111}" /v"/qn"

where "{11111111-1111-1111-1111-111111111111}" is the ProductCode GUID of the installation you want to repair.

William Leara
  • 10,595
  • 4
  • 36
  • 58
  • 1
    from command prompt executing: setup.exe /s /v"/f {89DC2D2E-F4C3-4BD1-8853-2EA5F50A8C0C}" opens a windows installer window, many switche description are given there. But setup.exe doesn't copy files which if i double click the setup.exe file does. What to do? – Samir Jun 27 '09 at 10:58
  • Leara, I used a command like(from command prompt): setup.exe /s /v"/qn REINSTALL=ALL" what it does is: if the setup.exe run before then it can deploy files and it does not install at the first time(where it is not installed before)!!! but what i want is whether setup.exe was installed or not it should re-deploy the files again... What should I do? – Samir Jun 27 '09 at 11:52