Installing .exe manually with psadt works but not deployed with Intune

Hello Together

I try to install a .exe from the Company “KeOutdoorDesign” with Intune.
When i start it manually with the PSADT everything works fine. Here is the Command:
Execute-Process -Path ‘SETUP_GENNIUS_705.exe’ -Parameters ‘/VERYSILENT’

We use the Deploy-Application.exe for the Setup File (IntuneWinAppUtil.exe).

After i uploaded it to Intune the Installation fails with:
Hardware features are not compatible with the software, install aborted!

Here is the Log from the .exe:

The Installer was build with the Inno Setup from JrSoftware.
Here is the Link to the Commands:
Setup Command Line Parameters (jrsoftware.org)

Intune just shows error: 0x87D300C9 which means that the .exe still runs.

Does anyone know what the issue could be or how to solve it?
I already tried all kinds of Parameters but no one worked.

Many Thanks

Best Regards
Mr. Schenker

I am unsure what your Install command line is set to in Intune, whether you are installing it in the Users context or System Context
I am unsure if your command has single quotes or back ticks (It may have just been copied into this forum incorrectly
N.B. Back ticks " ` " are used to escape certain characters in Powershell where as a single quote " ' " will properly quote something

Where is the SETUP_GENNIUS_705.exe file located within your Intunewin file?
If it’s in the root have you tried modifying your install command to:

Execute-Process -Path '.\SETUP_GENNIUS_705.exe' -Parameters '/VERYSILENT'

If you have placed it in the \Files\ sub-folder for example, you will need to update the path.
Are there any restrictions on executing the SETUP_GENNIUS_705.exe file - i.e. does it have to be run in the users context?
Is there any additional syntax required to run the install unattended (rather than just /VERYSILENT)?

The following reply (I posted to a previous question) might give you some further tips:

ServiceUI.exe is great from bringing messages and dialogs from the System Context into the User context

1 Like

Am I the only one who uses log files?

You can make innosetup generate a log file.
Here’s a link on how to do this: INNO Setup - How to install, uninstall, and log silently

I bet it’s throwing a prompt that is suppressed by Intune

1 Like

Thanks for your Answers.

@Adrian_Scott
I need to install this Software in the System Context.
Yes, this is a Copy and Paste issue. I use single quotes.
The File is located in the Files Folder and this works perfectly. No need for $dirFiles.
I tried also with the parameter /SUPPRESSMSGBOXES.

@That-Annoying-Guy
I saw your post.
The Log is in the First post.
The Log says:
Hardware features are not compatible with the software, install aborted!

Thanks again.

1 Like

OK, Looking at your log file there might be a clue or two in there…

line 4 in your log:

2024-02-16 16:35:11.986  Setup command line: /SLS="$100AA,12377523,134144,C:\Temp\SETUP_GENNIUS_705.exe" .....

This install command looks wrong? :thinking:
(Wondering what the /SLS="$100AA,12377523,134144, prefix is for?
and
executing the SETUP_GENNIUS_705.exe from C:\Temp is NOT normal Intune behaviour I would normally expect it to run from C:\Windows\IMECache\<Intune_Application_GUID>\ assuming it was packaged as an Intunewin file?

2024-02-16 16:35:12.013  Spawning 32-bit RegSvr32: "C:windows\system32\regsvr32.exe" /s "C:\Windows\system32\scrRun.dll"
...

I would hazard a guess that this install might require specific hardware (64-bit for example?) - Just a thought is this being run on a 32 bit version of Windows?
As this may provide a reason for the “Hardware features are not compatible with the software, install aborted!” message

I would suggest that @That-Annoying-Guy’s INNO setup link is worth a read in this instance, I’d suggest you also need the /SILENT syntax adding to your command line

Hi

I have no idea what this prefix means at the Moment.
It’s a 64bit Version of Windows.
I also tested it with both Parameters now. The result is the same.

The Script starts now in the right directory and the Execute-Process is the following:

Execute-Process -Path 'SETUP_GENNIUS_705.exe' -Parameters "/SILENT /VERYSILENT /LOG=`"$configToolkitLogDir\$installName_Inno_install.log`""

Here is the Result:

2024-02-21 11:37:48.967   Log opened. (Time zone: UTC+01:00)
2024-02-21 11:37:48.967   Setup version: Inno Setup version 5.5.9 (u)
2024-02-21 11:37:48.967   Original Setup EXE: C:\Windows\IMECache\df32065a-3e7e-4cc5-b804-9984955c64cc_1\Files\SETUP_GENNIUS_705.exe
2024-02-21 11:37:48.967   Setup command line: /SL5="$3000E2,12377523,134144,C:\Windows\IMECache\df32065a-3e7e-4cc5-b804-9984955c64cc_1\Files\SETUP_GENNIUS_705.exe" /SILENT /VERYSILENT /LOG="C:\Windows\Logs\Software\.log"
2024-02-21 11:37:48.967   Windows version: 10.0.22631  (NT platform: Yes)
2024-02-21 11:37:48.967   64-bit Windows: Yes
2024-02-21 11:37:48.967   Processor architecture: x64
2024-02-21 11:37:48.968   User privileges: Administrative
2024-02-21 11:37:48.972   64-bit install mode: No
2024-02-21 11:37:48.977   Created temporary directory: C:\Windows\TEMP\is-UC2FS.tmp
2024-02-21 11:37:48.980   Extracting temporary file: C:\Windows\TEMP\is-UC2FS.tmp\setup.dll
2024-02-21 11:37:49.109   Spawning 32-bit RegSvr32: "C:\Windows\system32\regsvr32.exe" /s "C:\Windows\system32\scrRun.dll"
2024-02-21 11:37:49.157   Spawning 32-bit RegSvr32: "C:\Windows\system32\regsvr32.exe" /s "C:\Windows\system32\MsScript.ocx"
2024-02-21 11:37:50.327   Extracting temporary file: C:\Windows\TEMP\is-UC2FS.tmp\EngineMark.exe
2024-02-21 11:37:50.400   Message box (OK):
                          Hardware features are not compatible with the software, installation aborted!

The other Log ends here:

<![LOG[[Installation] :: Executing [C:\Windows\IMECache\df32065a-3e7e-4cc5-b804-9984955c64cc_1\Files\SETUP_GENNIUS_705.exe /SILENT /VERYSILENT /LOG="C:\Windows\Logs\Software\.log"]...]LOG]!><time="11:37:47.81360" date="02-21-2024" component="Execute-Process" context="NT-AUTORITÄT\SYSTEM" type="1" thread="25512" file="Deploy-Application.ps1">

I’m running out of Ideas. Maybe you have an other Idea? Otherwise, i will try to contact the Company.

Thanks

Ah, so it looks as though when the Intune command runs the install (from the expected IMECache folder), it appears to extract some content to C:\Windows\Temp as part of the install

As you state it’s a 64-bit version of Windows (The 1st line of an extract of your log below confirms this):

But the last line of the extract of this log states it’s not being run in 64-bit install mode… I’m wondering if the installer requires to be run via 64-bit Powershell ? :thinking:
I’m not sure if this is the answer, but this blog (written by the well respected Intune expert Peter van der woude) ‘might’ help:
https://www.petervanderwoude.nl/post/using-the-intune-management-extension-on-a-64-bit-platform-for-a-very-happy-new-year/

Just reading the last line of the log:

I’m interested that the

/LOG="C:\Windows\Logs\Software\.log"

Has not populated the name of the log file.
This maybe because it is interpreting the $installName_Inno_install part as the whole variable, I’d suggest using this syntax to ‘wrap’ the variable in your source script ( Deploy-Application.ps1):

$($installName)_Inno_install.log

This way you should get a logfile created as SETUP_GENNIUS_705_Inno_install.log in your log folder (or what ever you have defined in the $installName variable)

N.B. Useful tip - As you are using Intune, you would probably benefit from writing all logs to the same location on the device, If you set them to use the default Intune Log folder as the path:

C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\

You can then easily request these logs from a device via the Intune Portal:


This will then request the device to bundle up (zip) all the device logs (including from the Intune Logs folder), registry hives and other diagnotics data, before uploading them to Intune, for you as the admin to download at a later stage via device diagnostics:

You can then easily review the logs without having the device locally to hand

I’m no expert here but it sounds like an issue with the detection method. What are you searching for in regards to the detection method?

Thanks for all the help.

It took me a while. I tested it with the 64bit Powershell.exe. The result is the same.

@Peter.MacLean What do you mean with detection method?

When I test with PSADT I use Powershell ISE as I can run certain lines and make sure everything is working. If you have it working in your test then it should work whether you make the app for SCCM or Intune.
That being said I have had a similar error when creating an app for SCCM and it ended up being the detection method.
I’m not sure your comfort level with Intune so I will explain this the best I can. When creating any app for intune you need to give it a detection method.

There are 4 types of detection rules:
MSI - These tend to be the easiest
File/Folder - I rarely use these
Registry - I use these most often
Custom PS script - I have a script but I prefer using the registry.

I used to goto these locations in the registry
HKEY_LOCAL_MACHINE\Wow6432Node\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
or
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

and look for the app and use the displayname as the key and then match the name.

I now add a registry key during the install process under the post-installation section of the deploy-application.ps1.
ex. HKLM\Software\Company Initials\Software_version_PS
The detection method looks to see if the key exists and if it doesn’t it allows for the install.

In the post-uninstallation I remove the key so that the detection method works on a reinstall.

If you want to hear more please let me know. I’m not the best with Powershell but I know enough to be dangerous but this project has made my app building much easier now and for the future.

Hello

I’m one step further now.

This EngineMark.exe gives me following error:

Begin logs 
INIT: Video Board : <ÓÀ>
INIT: Driver Video: 3 64.5328.0.3 
INIT: Graphic card isn't compatible HAL. Check graphics driver!

The game is on again.

1 Like

To find out if Intune application detection is working or not I use this IME Log file decoder

Meanwhile, i have a Log from the EngineMark.exe while it is working on the same PC:

Begin logs 
INIT: Video Board : <Intel(R) Iris(R) Xe Graphics>
INIT: Driver Video: 1359 31.0.101.4953 
INIT: CheckMultiSample: 4 SAMPLES
INIT: Video Memory Total = 4081Mb
INIT: Max Texture Size 16384x16384
INIT: Vertex Shader Version 3.0
INIT: Pixel Shader Version 3.0
INIT: Texture POW2 0
INIT: Texture POW2_Conditional 0
INIT: Video Memory Total = 4081Mb
INIT: Max Texture Size 16384x16384
INIT: Vertex Shader Version 3.0
INIT: Pixel Shader Version 3.0
Performing printing test 

It looks like this .exe cannot get the right information while it runs via Intune.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.