Windows install with GPO, auto-unpacking of JAR files and busted MSI

So, I try to install Spark 2.5.8 online MSI (Java 1.6.0_10 or later is already installed on these PCs) and I found out about the unpacking problem. You need to be an admin to launch Spark once before it will work for non-admins. This doesn’t work when you’re trying to deploy machines in rapid succession.

In addition, the MSI package doesn’t want to uninstall correctly. Removing Spark and re-opening Add or Remove Programs produces another Spark uninstaller that doesn’t work. I had to use MSI Cleanup to remove it, and even then it wouldn’t reinstall through GPO because Windows thinks it’s still installed.

So to kill two birds with one stone, I might as well build a new MSI package with the unpacked JAR files. I have Advanced Installer, the same kit Ingite uses but version 3.2, and I’ve built a few working packages for GPOs with it. These packages can uninstall and reinstall properly. Is it a simple matter of copying the application files and creating shortcuts?

If I succeed, I can share the MSI here.

Of course you can share. Though maybe the better way would be to make a document with the instructions how to make your custom MSI.

Well, MSIs on the Download page are even more flawed than you have find out. I just cant remember all the issues with them. They should be removed from there, imho.

i use advanced installer to edit and rebuild the same msi downloaded from this website. I can just add the unpacked jar files and it works just fine. This seems better IMO than starting from scratch building an msi.

My version of Advanced Installer is only 3.2 and it doesn’t open existing MSI files. I’ve poked in the MSI with InstEd and I don’t see anything unusual; just files copied and shortcuts created. Do I need to register the Windows DLLs that come with it?

I suppose I should break down and buy the current Enterprise edition of the thing.

yeah, I am using the enterprise version and it works pretty nice.

to the above, I wouldn’t mind repacking the msi to be distributed, call it my contribution to the community

if someone could tell me specifics of what is wrong with the current msi (so I make sure to fix it) and then tell me who to give it to for distribution I will take a look and try and get one made.

I think Todd will have more to share about the issues with MSI. I have PMed him this thread link.

also i have found my old thread, this could be already fixed though http://www.igniterealtime.org/community/thread/25584?tstart=180

I don’t have anything to add aside from what I’ve already mentioned: The JAR files need to pre-unpacked so it works for a non-admin on the first try, and it doesn’t cleanly uninstall. It would also help if Spark itself stored its logs in %userprofile% somewhere, instead of the installation folder, which is read only to non-admins. This log problem isn’t fatal to running Spark as a non-admin however.

It’s easy to test GPO functionality without actually putting a package in a GPO or even having the test PC in an AD domain. Do this at a command line:

Install: msiexec /i package.msi /passive

Uninstall: msiexec /x package.msi /passive

If it installs and uninstalls without errors, it works. There are also certification checks in Orca and in InstEd for the purists. If you really wanted to test non-admin functionality, launch your command prompt as an admin, do the passive install, then test the installed package as the non-admin you’re logged on as.

Passive uninstall is good for GPOs that have “uninstall this package when it falls out of the scope of management” enabled, or when you remove a package from a GPO and choose “Immediately uninstall,” or if you upgrade a package and choose to have the GPO uninstall the old package completely first.

THis is a definite issue with the Jive created MSI files. I vercame this by creating my own MSI based on the exe installer. The MSI from Jive has many errors. I would avoid it at all costs, personally.

As for the logs, spark logs in both locations, userprofile and application folder.

I would be willing to build you an installer to test if you like.

I would be extremely interested in a custom built MSI that works with GPO deployment - especially if someone can build one WITHOUT Java, as we already deploy Java via GPO. I don’t have the tools (or experience) to build this my self.

Maybe someone could build it against the latest beta installer (exe)? It has a few bug fixes, most importantly the one that puts the spark properties directory in the correct userprofile location…

I could probably host this file for distribution if you are able to produce it

Sorry that it’s been a while, but I’ve had my hands full. I need to do this GPO install of Spark, though, so I’ll toss something together once I get a chance. It does look as simple as copying the unpacked JAR files to an installation folder and creating shortcuts.

http://www.antiwindowscatalog.com/downloads/spark258fixed.msi (19 MB)

There… this MSI file still has one oddity where Windows Installer builds spark.ini and starter.ini with quotes around one installation path entry. I also had to redo two rows in the MSI to have the ClassPath entries put in correctly, though doing so violates Windows Logo Certification rules because the resulting strings are too long.

However, it’s complete, and Spark appears to work OK. I won’t consider this package finished until I’ve had a chance to test it more.

Tried the package on my main office PC, looks like the bug with Spark using wrong path for application data still exist. This was fixed in SVN/The latest beta IIRC.

Example: http://www.igniterealtime.org/community/message/189933#189933

Are there any chance you will provide a MSI with the application data fix? I could probably pay you for this…

It’ll be a little while, but I could find a moment to hack this together. I want to see any non-admin bugs fixed too, such as where stuff gets stored. I’ll take a look at the latest beta and if time permits I’ll package it up.

Ignite could have the .AIP file that describes the package, since they appear to use Advanced Installer as well.

if you use advanced installer you can edit the msi. If I got time I might try and update this with the new files, shouldn’t be difficult.