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)
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.
response file for self extracting installer?
Started by
norton
, May 16 2002 01:59
8 replies to this topic
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.
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.
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.
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.
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:
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. |
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?
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?
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.
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.
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.
>:-[[[
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.
>:-[[[
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.
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.
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.
In any case, I'm glad it's working and that explains why someone else suggested using "-s -a -s" in another post.