bat or cmd File won´t be executet msiexec also doesn´t work

Hello there,
i sucessfully used this great toolkit to uninstall and reinstall Office and it works great. So I thougt it shouldnt be a Problem ti deploy a msi with it but I´m havin Trouble with it.

The first attemp:
I tried to call the MSI file directly in the script:
The MSI File is in the Folder toolkit\Files the DeployApplication script in the Folder toolkit
The original Installation instructions from the vendor is:
msiexec /i “\serverName\verzeichnis\InLoox_PM_WorkgroupEnterprise.msi” CMDLINE="/clientinstall ALLUSERS="“TRUE”" connectionfile=""\serverName\verzeichnis\connect.info"" folder="“C:\Programme\InLoox\InLoox PM”"" ALLUSERS=2" /quiet

@ my script:

## &lt;Perform Installation tasks here&gt; { Show-InstallationProgress -StatusMessage 'Inloox wird installiert' Execute-MSI -Action Install -Path 'InLoox_PM_WorkgroupEnterprise_825.msi' -Parameters "CMDLINE=/clientinstall ALLUSERS=""TRUE"" connectionfile=<code>&quot;inlooxmo_connect.info</code>" folder=<code>&quot;C:\Programme\InLoox\InLoox PM</code>" ALLUSERS=2 /quiet" -WindowStyle Hidden -IgnoreExitCodes '3010'
but it desn´t work
So I tried it local at a test Client

OK so I created a bat file that contains :

msiexec /i “C:\TEMP\Toolkit\Files\InLoox_PM_WorkgroupEnterprise_825.msi” CMDLINE="/clientinstall connectionfile="“C:\TEMP\Toolkit\Files\inlooxmo_connect.info”" folder="“C:\Program Files (x86)\InLoox\InLoox PM”""

wow great bat file works the msi began to install

so I went to powershell and tried:
Execute-Process "C:\TEMP\TOOLKIT\Files\install.bat

wow great works

ok back to the script an try with bat file:

## <Perform Installation tasks here> { Show-InstallationProgress -StatusMessage 'Inloox wird installiert' Execute-Process "C:\TEMP\Toolkit\install_inloox.bat" } but nothing happend The notification of closing Outlook and so on all works great but there is no Installation of the Software..

Any Ideas?

of course i renamed the install bat file to install_inllox.bat at the last try

This forum is meant for finished deployment scripts you wish to share with the community. Your question is better posted under the “General” forum.

What does the log file generated by the script say? Is there any error message? There should be some clue in the log.

Sorry for posting in the wrong Forum. The log script is at the customers Notebook but I will try at my Notebook an will have a look at the log file and reply here

thanks

OK here the log:

Folder of Depployapplication.ps1 : C:\TEMP\Toolkit
Folder of MSI file : C:\TEMP\Toolkit\Files
Toolkit Version: 3.6.5
I Will also try again with the Batch File

[Initialization] :: Skipping attempt to check for and make the task scheduler services healthy because the App Deployment Toolkit is not running under the [NT-AUTORITÄT\SYSTEM] account. PSAppDeployToolkit27.08.2015 17:03:13 7240 (0x1C48)
[Initialization] :: Session 0 not detected. PSAppDeployToolkit
27.08.2015 17:03:13 7240 (0x1C48)
[Initialization] :: Installation is running in [Interactive] mode. PSAppDeployToolkit
27.08.2015 17:03:13 7240 (0x1C48)
[Initialization] :: Deployment type is [Installation]. PSAppDeployToolkit 27.08.2015 17:03:13 7240 (0x1C48)
[Pre-Installation] :: Get deferral history… Get-DeferHistory 27.08.2015 17:03:13 7240 (0x1C48)
[Pre-Installation] :: Return fully qualified registry key path [Registry::HKEY_LOCAL_MACHINE\SOFTWARE\PSAppDeployToolkit\DeferHistory\Inloox_EN_01]. Convert-RegistryPath 27.08.2015 17:03:13 7240 (0x1C48)
[Pre-Installation] :: Registry key [Registry::HKEY_LOCAL_MACHINE\SOFTWARE\PSAppDeployToolkit\DeferHistory\Inloox_EN_01] does not exist. Get-RegistryKey 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: User has [2] deferrals remaining. Show-InstallationWelcome 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: Check for running application(s) [outlook]… Get-RunningProcesses 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: The following processes are running: [OUTLOOK]. Get-RunningProcesses 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: Resolve process descriptions… Get-RunningProcesses 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: Finished checking running application(s). Get-RunningProcesses 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: Prompt user to close application(s) [Microsoft Outlook]… Show-WelcomePrompt 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: User has the option to defer. Show-WelcomePrompt 27.08.2015 17:03:14 7240 (0x1C48)
[Pre-Installation] :: User selected to force the application(s) to close… Show-InstallationWelcome 27.08.2015 17:03:20 7240 (0x1C48)
[Pre-Installation] :: Stop process OUTLOOK… Show-InstallationWelcome 27.08.2015 17:03:22 7240 (0x1C48)
[Pre-Installation] :: Stop process OUTLOOK… Show-InstallationWelcome 27.08.2015 17:03:23 7240 (0x1C48)
[Pre-Installation] :: Check for running application(s) [outlook]… Get-RunningProcesses 27.08.2015 17:03:25 7240 (0x1C48)
[Pre-Installation] :: Application(s) are not running. Get-RunningProcesses 27.08.2015 17:03:25 7240 (0x1C48)
[Pre-Installation] :: Finished checking running application(s). Get-RunningProcesses 27.08.2015 17:03:25 7240 (0x1C48)
[Pre-Installation] :: Display balloon tip notification with message [Installation gestartet.]. Show-BalloonTip 27.08.2015 17:03:25 7240 (0x1C48)
[Pre-Installation] :: Spin up progress dialog in a separate thread with message: [Installation wird durchgeführt. Bitte warten…]. Show-InstallationProgress 27.08.2015 17:03:26 7240 (0x1C48)
[Post-Installation] :: Close the installation progress dialog. Close-InstallationProgress 27.08.2015 17:03:28 7240 (0x1C48)
[Post-Installation] :: Displaying custom installation prompt with the non-default parameters: [-NoWait:$true -ButtonRightText “OK” -Icon “Information” -Message “Inloox wurde installiert”]. Show-InstallationPrompt 27.08.2015 17:03:28 7240 (0x1C48)
[Post-Installation] :: Inloox_EN_01 Installation completed with exit code [0]. Exit-Script 27.08.2015 17:03:28 7240 (0x1C48)
[Post-Installation] :: Display balloon tip notification asyhchronously with message [Installation abgeschlossen.]. Show-BalloonTip 27.08.2015 17:03:28 7240 (0x1C48)
[Post-Installation] :: [C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe] is a valid fully qualified path, continue. Execute-Process 27.08.2015 17:03:29 7240 (0x1C48)
[Post-Installation] :: Working Directory is [C:\Windows\System32\WindowsPowerShell\v1.0]. Execute-Process 27.08.2015 17:03:29 7240 (0x1C48)
[Post-Installation] :: Executing [C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe [PowerShell ScriptBlock]]… Execute-Process 27.08.2015 17:03:29 7240 (0x1C48)
[Post-Installation] :: NoWait parameter specified. Continuing without waiting for exit code… Execute-Process 27.08.2015 17:03:29 7240 (0x1C48)
[Post-Installation] :: ------------------------------------------------------------------------------- Exit-Script 27.08.2015 17:03:29 7240 (0x1C48)

for the script:

##* INSTALLATION 
	##*===============================================
	[string]$installPhase = 'Installation'
	
	## Handle Zero-Config MSI Installations
	#If ($useDefaultMsi) {
	#	[hashtable]$ExecuteDefaultMSISplat =  @{ Action = 'Install'; Path = $defaultMsiFile }; If ($defaultMstFile) { $ExecuteDefaultMSISplat.Add('Transform', $defaultMstFile) }
	#	Execute-MSI @ExecuteDefaultMSISplat; If ($defaultMspFiles) { $defaultMspFiles | ForEach-Object { Execute-MSI -Action 'Patch' -Path $_ } }
	#}

    

	
	## &lt;Perform Installation tasks here&gt;
    {
  		Show-InstallationProgress -StatusMessage 'Inloox wird installiert'
		Execute-MSI -Action Install -Path 'InLoox_PM_WorkgroupEnterprise_825.msi' -Parameters "CMDLINE=/clientinstall ALLUSERS=""TRUE"" connectionfile=<code>&quot;inlooxmo_connect.info</code>" folder=<code>&quot;C:\Programme\InLoox\InLoox PM</code>" ALLUSERS=2 /quiet" -WindowStyle Hidden -IgnoreExitCodes '3010'
	}

well hello there, I tried with an older Version ( 3.6.2)aaaaand
the Installation via MSI works. Seems there is a bug in this Version.
Let me know if you Need some logs for bug Fixing.

THXS 4 the grat tool

Thomas

The log you posted doesn’t show that Execute-MSI was ever executed. Is that the wrong log file?

Also, why is your Execute-MSI call inside a script block like so?

{
Execute-MSI…
}

Hi sorry for the long delay,

the log is the correct one an that is / was the problem no execution startet.
I used the same script @ Version 3.6.2 and everything works.

Post your full script so I can see if I can execute it on my end.

Also, like I asked above, why is this code in an un-named scriptblock like this?:

## <Perform Installation tasks here>
{
Show-InstallationProgress -StatusMessage 'Inloox wird installiert'
Execute-Process "C:\TEMP\Toolkit\install_inloox.bat"
}

Un-named scriptblocks don’t get executed unless you put a . or an & in front of them like this.

## <Perform Installation tasks here>
. {
Show-InstallationProgress -StatusMessage 'Inloox wird installiert'
Execute-Process "C:\TEMP\Toolkit\install_inloox.bat"
}

or

## <Perform Installation tasks here>
& {
Show-InstallationProgress -StatusMessage 'Inloox wird installiert'
Execute-Process "C:\TEMP\Toolkit\install_inloox.bat"
}

If you’re executing this exact same code in 3.6.2, then it would not run either. I think something is wrong with your code, not the toolkit. Go over your code again.

First of all, the quotes are all over the place, and therefore PowerShell doesn’t know when the command starts and stops. It also will not pass the quotation marks on to msiexec. The parantheses in “Program Files (x86)” can also create issues.

Let’s start with the command in the script, I’ll replace the quotes with brackets, so you can see what’s wrong:

msiexec /i {C:\TEMP\Toolkit\Files\InLoox_PM_WorkgroupEnterprise_825.msi} CMDLINE={/clientinstall connectionfile=}{…

The CMDLINE option is outside the quotes, and powershell will either fail, or exclude everything after the first set of quotes.

Try this, I have escaped quotation marks we want to send on with grave-accent, and replaced the folder path with an environment variable:

<pre class=“brush: powershell; gutter: true; first-line: 1; highlight: []; html-script: false”>Execute-MSI -Action Install -Path “$dirFiles\InLoox_PM_WorkgroupEnterprise_825.msi” -Parameters “CMDLINE=”/clientinstall” connectionfile=”$dirFiles\inlooxmo_connect.info” folder=”${Env:ProgramFiles(x86)}\InLoox\InLoox PM” /quiet ALLUSERS=2”

If the installer needs all the crazy quotes:

<pre class="brush: powershell; gutter: true; first-line: 1; highlight: []; html-script: false">Execute-MSI -Action Install -Path &quot;$dirFiles\InLoox_PM_WorkgroupEnterprise_825.msi” -Parameters &quot;CMDLINE=”/clientinstall connectionfile=”$dirFiles\inlooxmo_connect.info” folder=”${Env:ProgramFiles(x86)}\InLoox\InLoox PM&quot;”`” /quiet ALLUSERS=2"

Turns out, I suck at formatting :stuck_out_tongue:

Since I can’t find a way to use the grave-accent in this forum, I replaced it with the number 1, you’ll have to replace all occurences of 1 to a grave-accent for this to work:

Execute-MSI -Action Install -Path "$dirFiles\InLoox_PM_WorkgroupEnterprise_825.msi” -Parameters "CMDLINE=1”/clientinstall connectionfile=1”1”$dirFiles\inlooxmo_connect.info1”1” folder=1”1”${Env:ProgramFiles(x86)}\InLoox\InLoox PM1"1”1” /quiet ALLUSERS=2"