How to Solve Error: "MSI Can be Installed Through Setup.exe Only"

How to Solve Error:
piyushnasa's picture

There are many installshield applications (MSI)/ Other Vendor MSI which come wrapped in setup.exe. The packagers can extract the MSI easily, but while installing the MSI, sometimes an error comes which says that the MSI can be installed only through setup.exe.

This can be solved by two ways:

  1. For Installshield applications, Set the Property ISSETUPDRIVEN=1, this will remove the error and you can install your MSI.
  2. If the above does not work and also for non Installshield packages, if you still get the error, then you can create a verbose log file and search for "Return Value 3". This will take you to the Custom Action which has caused the error. You can disable this CA and then try installing the application. This works most of the time. However there are some applications in which the same CA is doing more than one work. In that case you need to figure out how to make the other solution work.
3.814815
Average: 3.8 (27 votes)

using property SKIPAIM

For the Altiris deployment Solution/Task Server Solution etc. to be installed on top of the existing NS server, the following option works. Run the following command from commandline:
msiexec /i "msi-installer-path" SKIPAIM=i

I guess It needs...ISScript11.

Think3 TilakGovind's picture

I guess before settinng the Property ISSETUPDRIVEN=1,It needs ISScript11[ENGINE] to be run, if not installed...
Correct me if i'm wrong...

Cheers Tillu

ISBridge.dll

yeah. you are right.

These MSIs will be having the custom actions referring to ISBridge.dll. these custom action does refer to the pre-existance of ISSCript in the machine. y Analysing the flow of the Custom actions and commenting the same, we can achieve the MSI installation.

Cheers'
Vijay

Rightly said

piyushnasa's picture

Yes Vijay, Rightly said. As I have mentioned above, we can comment these Custom Actions. But before commenting them we have to make sure that they are not causing any harm for the installation. I mean we need to check if something is not missed out.
I don't think it will require ISSCRIPT, until there is some Custom Action which is present in the MSI and doing some required action for MSI, and it needs ISSCRIPT to run. But this will really be a rare case and I have never come across this situation. If anyone here has, then please share your knowledge about how you solved it, so that we all can benefit from it.
Thanks..

Use of response file

Hi Piyush,

Sometimes you get more than one msi extracted from source exe and you cannot install these extracted msi stand alone.

There is a method of creating response files which are best suited for all these install shield application.

Please explain

piyushnasa's picture

Thanks for giving your comment. It would be really helpful, if you can give a scenario and the method for this response file. If there is a webpage/document you could refer, then it will help us all.

How to create response file

Hi,

Response file which i am aware is ".ISS" is installshield response file.
To create that:
1.From Command Line install Setup.exe with -r switch & install the application manually with the settings you require
2.It will create .ISS file into C:\Windows folder
3.Copy this .iss file to the same folder where setup.exe is placed
4.Run the setup.exe with -s switch

This way it install the application silently with the settings of ".ISS" file.

I hope it answers your question.

Response File

While repackahing Remedy Vs 7 I was able to redirect the .ISS into any folder of choice:
http://documents.bmc.com/supportu/documents/57/19/...

Example 1:
C:\WUTemp\user.exe -s -f1C:\WUTemp\user.iss -f2C:\WUTemp\user.log
This example runs the BMC Remedy User installation silently using the
user.iss file and puts any installation issues into the user.log file. All of
these files were placed in the same directory (C:\WUTemp) for simplicity

Example 2:
C:\WUTemp\user.exe -s -f1C:\Windows\setup.iss
This example runs the BMC Remedy User installation silently using the
setup.iss file found in the default Windows directory.