jasp-stats/jasp-issues

[Bug]: Silent Install with Enterprise Deployment (SCCM) Fails

Closed this issue ยท 16 comments

JASP Version

0.19.1

Commit ID

No response

JASP Module

Unrelated

What analysis are you seeing the problem on?

No response

What OS are you seeing the problem on?

Windows 10

Bug Description

I'm attempting to deploy JASP via Microsoft's System Center Configuration Manager. I've packaged the installer, but the install fails when imaging a computer (Automated process of erasing the disk, installing windows, installing apps, etc.)

The application installs via the command line:

msiexec /i "JASP-0.19.1.0-Windows.msi" /qn /norestart /L*V "C:\Windows\Temp\JASP_Install.log"

However, when installing during imaging, it hangs. The log file from SCCM indicates the install took too long and timed out:

Exceeded timeout of 120 minutes while waiting for process 5244 to finish. AppEnforce 12/5/2024 12:59:14 PM 2240 (0x08C0)

The MSI log produced by the installer gets to this line, then stops (followed by the hard failure at the 2 hour timeout mark):

MSI (s) (14:04) [11:00:43:799]: Executing op: CustomActionSchedule(Action=FixModulesJunctions,ActionType=3106,Source=C:\Program Files (x86)\JASP,Target=C:\Program Files (x86)\JASP\JASP.exe --junctions,)

I can provide the full installation log file via email if needed.

Expected Behaviour

The install should complete successfully, even when running in this automation.

Steps to Reproduce

I've reproduced this by packaging the application install two different times in SCCM. Both application packages resulted in this issue.

I don't know that you could reproduce this without having access to an SCCM environment.

Log (if any)

No response

More Debug Information

No response

Final Checklist

  • I have included a screenshot showcasing the issue, if possible.
  • I have included a JASP file (zipped) or data file that causes the crash/bug, if applicable.
  • I have accurately described the bug, and steps to reproduce it.

@jones948, thanks for taking the time to create this issue. If possible (and applicable), please upload to the issue website (#3067, attaching to an email does not work) a screenshot showcasing the problem, and/or a compressed (zipped) .jasp file or the data file that causes the issue. If you would prefer not to make your data publicly available, you can send your file(s) directly to us, issues@jasp-stats.org

Emailed full installation log file to issues@jasp-stats.org.

Would it be possible to use an MSIX package instead of the MSI. The msix install creates junctions at runtime.

It would be very difficult to fix this for 0.19.2 @boutinb .

I could probably make an MSIX work (or script out installing via the .zip download).

The odd thing is this worked without issue via SCCM on 0.19.0.0.

That gives me a hint!

The MSIX can be downloaded using the windows store

Also 0.19.2 is out now

Looks like an MSIX application package won't work during imaging (not supported).

I tried packaging the .Zip and setting it up manually, but it looks like JASP.exe won't run without Admin privileges (how our labs are setup) until "dynamicRuntimeInfo.json" is created in the install directory by running it explicitly as Admin. But starting JASP.exe during imaging does not create the file. So that may not work either.

I will test 0.19.2.

Didn't necessarily expect it to be fixed based on the notes above, but same problem with 0.19.2 (install hangs at "JSAP.exe -junctions").

@jones948 Are you sure MSIX is not supported?
It should be supported since may 2019.

Some documentation:
https://www.advancedinstaller.com/per-machine-deployment-msix-sccm.html

If it truly does not work we can look for other options

I'd originally packaged the MSIX as an actual MSIX application (direct import of the MSIX). That application could not be added to an OS Deployment Task Sequence - it doesn't show up in the selection window.

I then created a standard application, but scripted the install as described in the Advanced Installer article and it says it ran the step successfully:

"The task sequence execution engine successfully completed the action (JASP 0.19.2 - MSIX) in the group (Applications) with exit code 0"

...but when it's finished, the application is not installed.

I also tried the .ZIP install method again with a dynamicRuntimeInfo.json file pre-populated in the installation directory, but then JASP complained about missing modules on launch.

Okay I have a workaround for you that will probably work.
Download the JASP ZIP release. extract it and open the staticRuntimeInfo.json file.
Now alter the value from ZIP to MSIX.
Repackage the altered directory to a ZIP or whatever transform you need to get it into SCCM.

Explanation: JASP needs to create junctions to R packages to work. This is done at install time for MSI or at first start for MSIX, ZIP.
The ZIP creates them in the folder where the executable lives, so programfiles if installed to C drive. Ofcourse this is not allowed if you are not admin.
The MSIX creates them in <user>\AppData\Local\JASP\JASP (settings folder) which is writable without elevated permissions.
By altering ZIP to MSIX in that file you switch to the MSIX behaviour.

Let me know if this work or you need any further help/info

That worked. Thank you for all the assistance!

@RensDofferhoff
Can this be closed then, or do we need to fix sth on our end?

It can be closed. I will make note to bring this up in the internal meeting.