Need urgent help on a strange problem..

Topics: Archive - General
Dec 22, 2014 at 1:30 PM
Hi Guy's,

I so hope someone can help me on my problem as I already get gray hair on this..

I have to deploy a fairly old application and while when calling it trough batch script does install silent just fine I noticed something odd when using the same command-line on the App Deployment Toolkit..

via Batch I usually call the app like this..
"%~dp0Files\Setup.exe" /s /f1"%~dp0Files\setup.iss"
this usually installs the app even on X64 based OS.

I use the below code in the App Deployment Kit aka. in the "Deploy-Application.ps1"
Execute-Process -FilePath "Setup.exe" -Parameters "/s /f1`"$dirFiles\setup.iss`" " -WindowStyle Hidden
While in theory the above should do just the same as the batch scripted method It does not install at all and is just running forever instead.

Now, while watching what's going on using a process monitor I noticed the setup.exe is called different than 1st assumed.

Below the command-line found on how the process is called by powershell.
"C:\APP_Path\Files\Setup.exe" -isw64"C:\APP_Path\Files\Setup.exe" /s /f1"C:\APP_Path\Files\setup.iss"
Now the question: How can I call the actual setup.exe like I used to such as:

"C:\APP_Path\Files\Setup.exe" /s /f1"C:\APP_Path\Files\setup.iss" ?

And where does this first part: "C:\APP_Path\Files\Setup.exe" -isw64
comes from when called trough the PowerShell DeploymentToolkit?

Any help is much appreciated.

Regards Sven//
Dec 22, 2014 at 8:34 PM
What version of the PSADT are you using?
Dec 23, 2014 at 9:14 AM
g4m3c4ck wrote:
What version of the PSADT are you using?
I'm using the most recent version "PSAppDeployToolkit v3.5.0".

The thing is this is an damned old InstallShield engine it seems .. cause other InstallShield based applications I can install just fine with the commands above, that's why I'm so baffled why it would call just this specific installer with the addendum
"C:\APP_Path\Files\Setup.exe" -isw64 
before the correct command line.. is there eventually any way to enforce the command line to be used? I even tried already parsing the command line trough a
Execute-Process -FilePath "cmd" -Parameters "/c `"$dirFiles\setup.exe`"  /s /f1`"$dirFiles\setup.iss`" " -WindowStyle Hidden
but even then its the same behavior.. so something is really odd with that ages old InstallShield

Regards Sven//
Dec 23, 2014 at 3:31 PM
This is a package issue. Not a toolkit issue.

1- You are installing blind. Tack on something like /f2"C:\Setup.log" to get a log file.

2- Simplify and isolate. Try to install without the toolkit. If it doesn't work with
setup.exe  /s /f1"$dirFiles\setup.iss" /f2"C:\Setup.log"
The toolkit will not magically make it work.

3- Where did the setup.iss come from? Did you created it with XP and now you expect it to work on Win8 or Win7?
Installshield ISS files are a built-in way to "drive" the installation dialog boxes and are only able to handle only ONE scenario.
If the setup.exe does something on Win7 that it didn't do in XP, the ISS files will not work.

4-WTH is the -isw64 switch for? It's not documented anywhere. (it's mentioned here if you know Russian! http://blog.not-a-kernel-guy.com/2007/01/12/133 )

5-There are some package that are so badly done that you have no choice but to repackage.