Execute another installer silently within your Nsis installer - nsis

I am trying to execute ffdshow.exe silently within my nsis installer but ffdshow doesnt seem to work with my method but MatroskaSplitter.exe and other installers have run silently with the same method.
File "..\Prerequisites\ffdshow_rev4515_20130612_clsid.exe"
ExecWait '"$INSTDIR\ffdshow_rev4515_20130612_clsid.exe" /S'

Are you sure ffdshow uses NSIS?
It looks to me like they are using Inno so you could try /silent or /sp- /silent /norestart.

Related

Inno setup- How to 'remove' SQL native client unattended

I am trying to check for previous installation of SQL native Client 11, before installation and if found, it needs to be uninstalled. Executing UninstallString in Inno Setup
Things work fine, but I want the Uninstall to be performed unattended. I am getting options Modify,Repair,Remove in the wizard. How can I select Remove by default and proceed with uninstall silently?
Note: It uses MsiExec and /U /SILENT parameters in the Exec function seems to just exit without any errors.
Thanks in advance.
Try
MsiExec.exe /x{FA5C8C7E-3939-4219-A18E-0519832FE06A} /qn
(I found the options on http://www.advancedinstaller.com/user-guide/msiexec.html)

Nsis ExecWait command under the hood

There's a nsis exe that I know it using Nsis ExecWait to run a process.I need to hook it so I could replace the exe it Exec.
The problem is I'm not sure about what api to hook.And I've try dive into Nsis source codes till now find nothing:(. So Is there anyone familiar with nsis source codes give me some clue so I could find what ExecWait command under the hood API?
ExecWait is currently just CreateProcess+WaitForSingleObject.
In the NSIS source this instruction is called TOK_EXECWAIT in the compiler (script.cpp) and it maps to the EW_EXECUTE opcode in the installer stub (exehead/exec.c)...

Open File during Installation

I am using NSIS to create installer. Also I need to install other program (I have his installation file). How add second installer to automatically run it during first installation?
The simplest is to run the file (which must be first extracted to some directory,. e.g. $TEMP) with
ExecShell "open" "$INSTDIR\app.exe"
or with
ExecWait '"$INSTDIR\someprogram.exe"' $0
if you want to wait for program to finish.
Also consider many possibilities: whether the app should be run with some parameter, in Silent mode or elevated with admin rights or run as original user...

Requiring specifying an instance when running a setup.exe from InstallShield

I develop/maintain an installer built with InstallShield that supports multiple instances. Due to various reasons we always recommend those who run our installer to use the /Instance switch that InstallShield's setup.exe bootstrapper has. Is it possible to get InstallShield to require that the /Instance switch is used? Or is there anyway to check if the setup.exe has been run without the /Instance switch?
If this is an Install Script installer, you can check the value of the command line parameter when the installer first starts. If the value of the command line parameter is not what you want, you can display a messagebox to the user and exit.
szCommandLine = CMDLINE;
if (szMasterCommandLine == "/instance") then
MessageBox("Hello! This installer is running in instance mode.", INFORMATION);
else
MessageBox("You must run this installer with the /instance command line parameter.", INFORMATION);
abort;
endif;

NSIS Silent Install changing default options

I have a third party application I would like to silent install from the command line.
The application is PPLive available at: http://www.pptv.com/en/
It is an NSIS installer, and currently when silently installed, installs toolbars, and additional pieces of software, launches on completion etc.
Without repackaging it, how do I control the checkbox options on the pages of the normal installer from the silent command line install.
Is it even possible?
NSIS supports the silent install option with the /S command line script, however, it only sets a flag that the install script can check:using IfSilent.
There is an example script here that demonstrated a silent installation.
You can't control the components unless the installer has been coded specifically for it (By using a "answer" file/.ini or some parameter you pass on the commandline) NSIS itself only allows the author of the installer to know if it is in silent mode or not, the rest is up to them. You would have to ask the PPLive people about it (Or request that they add it if they don't support it already)

Resources