Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

response file for self extracting installer?


8 replies to this topic

norton

norton
  • Members
  • 5 posts

Posted 16 May 2002 - 01:59

I have tried to read the ISP6 manual and I have searched this forum for information on providing response file to a self extracting installer ("selfex.exe").  There are two references (both by TacoBell00) to needing to use "additional switches" to make it work, but I can find any actual information on doing this.

The documentation says you have to call setup.exe with some parameters, but you can't get to the setup.exe from a selfex.exe.

I have tried hacking around with "/SMS" and "/R" in various combinations on the command line for the selfex.exe but nothing happens, i.e. it behaves no differently, it does NOT produce an ISS file.  So my experimentation indicates that my use of "/SMS" and/or "/R" is either wrong or not supported by the self-ex.exe.

Q1: How do you provide an ISS file to a self extracting installer without expanding it first?  This would of course lead to the question "how do you record the ISS file of a self extracting installer

Q2: What is the ***supported*** method for expanding a self extracting installation so I can get to the setup.exe to run it with the appropriate "-r" and "-s -f1" options?

I would like answers to BOTH questions please.

Small thanks (in down payment, more thanks for correct response)

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 16 May 2002 - 08:53

It's been a long day (just got home from watching SW: Episode II :)), so for now I'll just tell you my cheat for single executable installs.

To record the setup file, first you should clean out your temp area.  Once that's done, run the install and look at the resulting setup files that are now extracted to the previous temp location.  Make a copy of them and cancel the install.  Now you can run the normal setup.exe with the /r switch to get an ISS file.
user posted image

norton

norton
  • Members
  • 5 posts

Posted 16 May 2002 - 23:55

Thanks for the response TacoBell00, but it still doesn't provide an answer either question question:

Q1: How do you provide an ISS file to a self extracting installer without expanding it first?  i.e. what commandline parameters do you pass to selfex.exe to specify the ISS file?

The documentation says to run setup.exe using "-s -f1..." but says nothing about running selfex.exe.  I have tried running selfex.exe with "-s -f1..." and it does not behave the same as running setup.exe with "-s -f1...".  In some earlier responses to other questions, you alluded to the requirement for "additional switches" but I can't work out what they are nor can I find any documentation describing this.


If I can't run a silent install using the selfex.exe, then I need to unpack the selfex.exe.  Given the requirements of a strict testing regime, I cannot provide both the selfex.exe and the expanded installer, but I can provide the test group a selfex.exe and  formal supported method for expanding the selfex.exe so that they can at least test  what will be sent to the customer... which least the the second question:


Q2: What is the ***supported*** method for expanding a self extracting installation so I can get to the setup.exe to run it with the appropriate "-r" and "-s -f1" options?



BTW: thanks for not including a SWE2 spoiler.

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 17 May 2002 - 14:18

I realize you still need to know the necessary flags to pass the single executable, but without looking them up, I was giving you a way to at least generate an ISS file.

However, since that wasn't good enough for you, I've looked up the appropriate help topic in the PackageForTheWeb.  Here are the results:

Quote

Passing Command Line Options to an Executable File Within a Package

If you would like to pass command line options to an executable file within your package during extraction, you have two options:

In the first field of the Delivery Options panel, select the executable file you would like to start once your files are extracted. Then enter a command line option in the second field. If you enter more than one option, separate each option with a space.
You may also pass command line options to the executable file in your package through the command line. To do so, follow the steps below:
Open the folder where you have saved the executable file package.

Include the following information after the directory prompt:

<name of the executable file.exe> -a <args>

For example:

Mypackage.exe -a -x (x can represent any application-specific command line option for your executable file.)

You may also pass command line options to the executable file within a package in silent mode. This suppresses any run-time dialogs built into the package. To use this method, specify the -s option first, followed by -a, and then specify any additional command line options. Separate each option with a space.

For example:

Mypackage.exe -s -a -x

You may enter command line options in both the wizard and from the command line. Any options added on the command line are concatenated to the options specified in the wizard.

Packages that have passwords will not successfully extract in silent mode because the proper password cannot be entered.

user posted image

norton

norton
  • Members
  • 5 posts

Posted 20 May 2002 - 01:53

I'm really sorry TacoBell, I'm still having problems (that the ointment is not clearing up).

Firstly I can't find the documentation that you copied into your response. I have InstallShield 6.22.  The closest thing I can find is documentation on the media properties relating to the "packaging" tab -> General: Setup command line parameters.  

Secondly, I still can't get your suggestions to work.
I want the user to be able to have the option to install it silently or with the full GUI, so I can't change the "delivery options" as this would not allow the decision to be made at installation time.

I can expand the executable selfex.exe (with winzip) and successfully run the setup.exe silently like this

   setup.exe -s -f1c:/temp/blah.iss

It definitely installs silently...but

I can't run the selfex.exe silently, i.e. when I run

   selfex.exe -s -a -f1c:/temp/blah.iss

which is my interpretation of the documentation, I still get the installshield installation wizard and GUI.

Where am I going wrong?

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 20 May 2002 - 14:00

Okay, I'm using IS 6.31, but the documentation I quoted came from the PackageForTheWeb's help and NOT IS's help file.

As for the user experience, if you want such flexibility of silent or full GUI, I would think you would have to use some sort of wrapper which asked the user such a question and launched the associated install.  This could pretty much be anything ranging from a batch file to a Visual Basic/C++ app to another IS setup.

Finally, it looks like you are correctly following the documentation, but the reference to the ISS file should be relative (i.e. -f1 ./blah.iss).  'cause if the user extracts it to somewhere other than c:\temp, then it's not gonna work.  Try that and see if it helps.
user posted image

norton

norton
  • Members
  • 5 posts

Posted 20 May 2002 - 23:49

It is never possible to determine at the time you build the package whether the user wants to perform a silent installation or a full GUI installation.  This is clearly the reason that the setup.exe does in fact support an *option* which allows you to perform a silent install.  If you want a silent install, you run the setup specifing the option and hey presto, silent install.

Writing a wrapper that asks the user if they want to do a silent install defeats the whole principle of doing a silent install.  It can never be scripted, it can never be automated, it's always a hands-on operation, which means when you are deploying a product into an organisation with 100 desktops, someone has to manually do this installation at each and every station.  Every manual operation is an opportunity to make mistakes.  Sure you could write a wrapper that does a silent installation without asking the question, but having to write a wrapper that does a silent install at all indicates a failure in the product.

Silent installs are clearly supported by the setup.exe.  I can take my self-extracting archive, expand it manually and perform a silent install using the setup.exe.  But I have tried running from the command line

   c:\somewhere\selfex.exe -s -a -f1c:\somewhereelse\blah.iss

and

   cd c:\somewhereelse
   c:\somewhere\selfex.exe -s -a -f1.\blah.iss

and

   cd c:\somewhereelse
   c:\somewhere\selfex.exe -s -a -f1blah.iss

and NONE of these perform a silent installation of a self-extracting single executable installation.

I can only conclude that IS6.22 does not support the silent installs for self-extracting single executable installation.

I can only say that I'm deeply disappointed.  This lack of documentation and lack of basic functionality is something I would expect of lesser organisations.

>:-[[[

norton

norton
  • Members
  • 5 posts

Posted 21 May 2002 - 09:19

spot the deliberate error...

The documentation for silent installs with self-extracting single binaries said

  Mypackage.exe -s -a -x

it turns out that it should say

   Mypackage.exe     -a      -s -x

i.e. you must specify the "-a" ***BEFORE*** the "-s" and "-x".  The "-a" says to pass all the rest of the parameters to the setup.exe.  For a silent install you want to pass "-s" (do a silent install) and "-f1file" (and here is the response file).

I have just successfully run a silent install on my own selfex.exe by doing this

  c:\somewhere\selfex.exe -a -s -f1c:\somewhereelse\blah.iss

YEEEHARR!!!!!!!!

Will someone please smack the dumb bunny who wrote the documentation.

Case Closed.

Thanks for your help TacoBell00.

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 21 May 2002 - 14:07

No need for the lecture.  I understand the benefits of a silent installation.  I simply mistook your "I want the user to be able to have the option", to be a visible one (hence the wrapper suggestion) and not just to have the capability.

In any case, I'm glad it's working and that explains why someone else suggested using "-s -a -s" in another post.


user posted image