InstallShield 2009 basic MSI silent install: how to set "Repair" by default
Asked Answered
T

4

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?

Testis answered 24/6, 2009 at 9:31 Comment(0)
A
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.

Apiarist answered 30/6, 2009 at 1:40 Comment(1)
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.Testis
N
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;

Norbert answered 13/10, 2009 at 10:39 Comment(0)
T
1

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

Tremolant answered 10/8, 2011 at 7:52 Comment(0)
R
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.

Randle answered 24/6, 2009 at 15:22 Comment(2)
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?Testis
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?Testis

© 2022 - 2024 — McMap. All rights reserved.