Author Topic: RELEASE: FreeSpace Open Installer, v2.3.5  (Read 378445 times)

0 Members and 1 Guest are viewing this topic.

Offline Averam

  • 21
Re: RELEASE: FreeSpace Open Installer, v2.1.10
No problem - it was the most recent version of Comodo causing the problem, installing the game to C:\VTRoot\HarddiskVolume1\(specified file path) rather than just the path I had specified on D:\. Because it was sandboxed as well it wasn't installing either the Launcher or the FS Open executable which is why I was having so many problems getting it to run. But yeah, turned off auto-sandboxing and problem solved.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Ugh.  We may have to look into avoiding issues when running alongside an antivirus like that, even if it's a bold suggestion to disable the feature during the install or something, unless there's a way to work around it and tell the AV/OS that we can't be sandboxed or something.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: RELEASE: FreeSpace Open Installer, v2.1.10
I doubt that there's a workaround for this since that would defeat the very purpose of the sandbox.
Most A/V programs (and even Windows > 7) will consider the installer and/or FSO suspicious since it has a small user base.
The only way to get a bit more trust would be to sign the executables but I don't think that the cost of a certificate would be worth it.

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Just wanted to pop in and thank Goober et al. for making the Installer so streamlined.  I've been giving it my first real trial installing everything onto my new rig, and while I'm familiar enough with how everything works to know where and how to install everything manually, it's soooo much more convenient just being able to click a few buttons and get everything squared away.  (The only downside is realizing just how much hard drive space is being sacrificed with the "install ALL the things!" option. :D)  There were one or two things I noticed that I figured were worth a bit of feedback, just in case they wind up helping someone else out:

1) I was initially a bit confused as to how the nested options were set up on the big Custom Installation page.  In most program installers I've used over many years, a topmost checkbox with a bunch of other checkboxes indented underneath it usually signifies, "Hit the top one to select everything underneath, or else go through them one by one to turn on/off what you want."  On the install selection page, the initial checkbox was just for the core files of each MediaVP set or mod, with the indented entries for all of the optional downloads.  The main trouble I had is that this setup wasn't really communicated on the page itself; I had to click the "More Info" button for the initial mod entry to see that it contained just the core files.  I'm wondering if it might possibly be clearer to have two non-indented entries for each mod: one for the core download, and one that you can check to select all optional downloads, with the individual files indented underneath so that you can pick or choose if you so desire.  At the very least, adding some text to the page itself stating that the first option is just the core download might make things clearer.  I'm not sure if there are any other ways to accomplish this; I'm not really knowledgeable when it comes to UI design.

2) This is more of a general modding issue than something specific to the Installer, but I was a bit disheartened to see just how many mods listed the 3.6.12 MediaVPs as a dependency.  I'd expected a few of them for the main MVPs, but I didn't realize that the same issue existed with the FSPort MVPs as well.  It's kind of a bummer to look at the downloads and realize that you need to keep duplicate copies of a bunch of files just to get something to work.  I know that there were definite issues with a few mods that hadn't been updated to work with the 2014 MVPs, but for some of them is it more the case that no one's properly vetted whether or not they play nice with the newer versions?  It'll probably take me months to get around to most of these campaigns (damn real life and such), but whenever I do I could at least try tweaking the mod.ini files and seeing if anything breaks horribly.

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Thanks for the comments. :)

In response to your points:
1) This is definitely something that could be improved, but it's low on my priority list since most people seem to figure it out.  One way would be to change the checkbox into some sort of custom UI object that represents this, but that just trades one problem (realizing that children are not automatically selected) for another (figuring out what the new UI object does).  I suppose I could just add some descriptive text somewhere.

2) Regarding the FSPort, we provide both 3.6.12 and 2014 versions because other mods which use the port may require these versions. :)  But yes, it becomes problematic when a mod needs maintaining but the original modder is no longer active.  Derelict has escaped this, but most mods haven't.

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Yeah, I guess that's just the cost of mod business.  I did have another quick question for you though: is there some way to download files via a different source and then have the installer validate that I've installed them?  A few of the downloads have failed so far, and while it may just be my flaky wifi, if need be I can hunt the files down manually.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Yeah, I guess that's just the cost of mod business.  I did have another quick question for you though: is there some way to download files via a different source and then have the installer validate that I've installed them?  A few of the downloads have failed so far, and while it may just be my flaky wifi, if need be I can hunt the files down manually.
It should do this automatically. When it comes time to actually try installing, it first looks for the destination files to see if they're already there, and checks their checksums. If they're the right files, it should verify them without re-downloading the whole thing (key word: "should").
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Ah cool.  It wound up not mattering in the long run, since despite having to run it a good 6 or 7 times, I finally managed to grab all of the files I need.  Damn wifi is a POS, I'll tell you that much.

(In retrospect I probably should have set the max concurrent downloads to 1, since my connection seems to derp out less if I'm loading only one thing at a time.)

 
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Just wanted to say thank you for creating this installer! Was looking for cool space games to play since I stopped playing "a good mmo space game" and needed my space fix! Last time I played Freespace/2 was back in 2001 so not had much experience installing mods and the likes. Tried playing the GoG version vanilla but heck it looks terrible on a 1080p screen (not to mention the lack of controller support). heh

Thanks to this installer I was up and running with shiny graphics, Xbox 360 controller support, and more mission packs than I will ever probably use in a matter of minutes! I didn't notice a donation link in the application itself, so is there any way I can throw you a few quid for coffee or beer? Again, thanks for this. It saved me a lot of reading up and stuff.  :yes:

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.1.10
You're welcome! :)  Glad to have helped.  And new enhancements to the Installer are in the pipeline.

Hearing back from people who have enjoyed using the Installer to download and play FreeSpace mods is a reward in and of itself.  And, to be honest, the need of the HLP hosting fund is greater than mine.  Why not donate to it instead?

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Hey Goober,

Would this be possible to implement?  It looks like it would be simple, and should provide a bit more ease of use to anyone who happens to not have java installed on their machine.  Also, it's open source, so if you wanted to tweak it's behavior (although that looks to be easily configurable in-program anyways) I think you could.  Anyways, thought I'd post it so you can have a look:



Overview:

JSmooth is a Java Executable Wrapper. It creates native Windows launchers (standard .exe) for your java applications. It makes java deployment much smoother and user-friendly, as it is able to find any installed Java VM by itself.

When no VM is available, the wrapper can automatically download and install a suitable JVM, or simply display a message or redirect the user to a web site.

JSmooth provides a variety of wrappers for your java application, each of them having their own behaviour: Choose your flavour!

Features:

Smooth User Experience

  • Your users see and use a standard windows Exe binary. No more technical explanation on .jar, on javaw association, etc.
  • Several GUI, console, and Windows Service wrappers are available!
  • The JSmooth EXE launchers are smart: They know how to swiftly search for any Java Environement installed on a computer, and determine which best suits the requirements of your application. If no VM is found, it's OK as well, your end-users are in good hands with jsmooth: the wrappers can redirect them to a web page, or even better, they can propose the user to automatically download and install a Java Environment.

Flexible automatic Java VM detection

  • Detects the location of any Sun JVM installed. The wrappers use several strategies to detect all the JVM available on a computer, using windows registry, environment variables, windows path.
  • Detects and uses Microsoft's JView (for 1.0 and 1.1 Java applications), if available.
  • The JVM search sequence is fully customizable using the GUI. You can force the executable to search in the path first, and in the registry last, or in JAVA_HOME first. We have all the flavours!
  • Sometimes it's more convenient to bundle a JRE with your application. JSmooth can deal with that too, you just need to define in which folder the JRE is expected. It falls back nicely to a standard JVM search if the JRE is not where it should be.
  • Specify which versions of the JVM are compatible with your software. You can set a minimum version, but also a maximum JVM version.

Graphical User Interface

  • A Swing-based project editor allows you to easily configure the executable binary for your software. All the parameters are configured with a GUI, just click and compile the project.
  • Associate an icon to your executable, using a .ICO, .PNG, or .GIF file (automatic color reduction is done if necessary).

Application configuration

  • Easy java properties configuration: specify the tag=value pairs you want the wrappers to pass to your java application.
  • You can easily pass environment variables from the system: just define the java properties to pass to your application, and use the standard Windows %VARIABLE% syntax.
  • Pass special variables that are not available to Java program, such as the executable path and name, and even the Windows computer name.
  • Specify all the classpath configuration, adding .jar, .zip, or directories, with an intuitive GUI.
  • Want to modify the current directory used by your Java application? The wrappers will handle this for you.
Wrappers

  • Provided with several exe wrappers skeletons, for GUI or for console-base application.
  • If none of the provided wrappers pleases you, just create your own ! It's open-source and easy to plug in the jsmooth framework!

Screenshots:

JSmooth provides a graphical user interface that helps you configure your application.


The Welcome panel
It's always nice to feel at home...


The JVM Selection
How many sugar in your java?


The Skeletons and theirs properties
This hot selection is best served cool

Manuals:

html, PDF, JNI

License:

The JSmooth licensing is a bit sophisticated, but has no constraint on your own software. First, a small executive summary:

  • Jsmooth is GPL, but wrappers are LGPL so that there is no constraint added to your own code.
  • Regarding the executable: there is no restriction on the executable generated. You can do whatever you want with it.

The full details are below:

  • The overall JSmooth package itself is GPL. Any work based on it, specially but not limited to, the full-java executable generation code, is GPL. In other words, if you create derivative work using jsmooth, it has to be GPL as well.
  • As an exception, the Skeletons (all the C++ code from jsmooth) used as a basis to create the launchers are LGPL. They can be used by for other programs, or can be linked with, as LGPL. In this case, there is no constraint on the licensing of your own program, but you must mention the LGPL and provide a pointer to the jsmooth skeleton source code.
  • As an exception to the exception above, the executable generated (the launchers created by JSmooth) are under the LGPL with a "runtime exception" similar to the gcc licence exception: It is not required that you distribute the source code with, nor that you publish a notice mentionning jsmooth. It's not far from public-domain, but the LGPL warranty-limitation still applies.




Download links (The wrapper itself requires Java 1.4 or higher; also, it's hosted on SourceForge, so be careful with the installer, might want to use the source or the .zip instead):

Source | .zip | Windows setup .exe

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.1.10
I'll check it out.

Any particular reason you copied the entire webpage into a post?  A link would have been sufficient.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Convenience.  Basically, you can see the entire overview of the project from here and then decide whether it's worth your time to investigate further, without having to peruse the website.  -shrug-  Not that much more convenient, but hey, every little bit helps, right?  :nod:

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Well, it kinda distracts from the rest of the thread.

Anyway, I investigated JSmooth and, although it's a neat little tool, it doesn't really help out the user.  If he downloads an EXE, he's going to expect that the EXE can run as-is.  But if Java isn't installed and it prompts him to download Java, then he's right back where he was before, but he's wasted an extra step.

What we need is something like Microsoft Jet, which Turey used to use to recompile the Java builds as native EXEs.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Ah.  Well.. -resists initial urge to helpfully copy new website here-

http://www.excelsior-usa.com/blog/excelsior-jet/java-app-as-a-single-exe/

The author goes into some detail as to ways to reduce disk footprint & reduce startup time, he's of course going to favor using Excelsior, but that's not all bad, it looks like FSO would probably qualify for a free license for that anyways.  Also, as the article points out, you don't have to use Excelsior, it's just faster / smaller.

Anywho, article is there if you want.  Found link to it while perusing another article by same author discussing whether or not compiling a jar to an exe is worthwhile, pros / cons, etc, actually kind of interesting FWIW: http://www.excelsior-usa.com/articles/java-to-exe.html

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.1.10
According to this thread, the FSO Installer mirror monitor is reporting incorrect results for some mods.  I've sent ngld a PM.

 
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Hi there!

I am having a problem with the installer, it gets stuck on installing any of the components that require downloads.

e.g. Extracting the files from the GOG installer requires InnoExtract -- yet the installer consistently fails to download the InnoExtract tarball, thus failing that step.

I was able to work around this by using Wine to install the game, then copying the files out of my Wine prefix and into ~/FreeSpace2

However the other components cannot be installed unless the installer is able to download them. Out of them all, wxLauncher was the only one that worked.

Here's a screenshot of the installer's final page:



And here's an archive containing the installer's logs: https://www.dropbox.com/s/4ncy5wuv198om97/logs.zip?dl=1

I hope I was able to provide some helpful information, let me know if anything else is needed.

Thanks!

  

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Thanks for the detailed information.  It looks like all of your problems, including the InnoExtract failure, are due to the same cause:

Code: [Select]
2015-11-15 21:12:24,086 [pool-1-thread-3] ERROR com.fsoinstaller.utils.MiscUtils - Unable to initialize 7zip!
net.sf.sevenzipjbinding.SevenZipNativeInitializationException: 7-Zip-JBinding initialization failed: Error loading native library: '/tmp/SevenZipJBinding-klWx7/lib7-Zip-JBinding.so'
at net.sf.sevenzipjbinding.SevenZip.loadNativeLibraries(SevenZip.java:511)
at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJARIntern(SevenZip.java:383)
at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJAR(SevenZip.java:267)
at com.fsoinstaller.utils.MiscUtils.initSevenZip(MiscUtils.java:440)
at com.fsoinstaller.internet.Downloader.download0(Downloader.java:195)
at com.fsoinstaller.internet.Downloader.download(Downloader.java:144)
at com.fsoinstaller.wizard.InstallItem.installOne(InstallItem.java:1026)
at com.fsoinstaller.wizard.InstallItem.access$1700(InstallItem.java:70)
at com.fsoinstaller.wizard.InstallItem$6.call(InstallItem.java:790)
at com.fsoinstaller.wizard.InstallItem$6.call(InstallItem.java:782)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: /tmp/SevenZipJBinding-klWx7/lib7-Zip-JBinding.so: /tmp/SevenZipJBinding-klWx7/lib7-Zip-JBinding.so: failed to map segment from shared object: Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at net.sf.sevenzipjbinding.SevenZip.loadNativeLibraries(SevenZip.java:509)
... 13 more

Since 7Zip cannot be initialized, none of the archives can be extracted.

According to the log, this is due to a linker error.  What version of Linux are you running?

 
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Thanks for the detailed information.  It looks like all of your problems, including the InnoExtract failure, are due to the same cause:

Code: [Select]
2015-11-15 21:12:24,086 [pool-1-thread-3] ERROR com.fsoinstaller.utils.MiscUtils - Unable to initialize 7zip!
net.sf.sevenzipjbinding.SevenZipNativeInitializationException: 7-Zip-JBinding initialization failed: Error loading native library: '/tmp/SevenZipJBinding-klWx7/lib7-Zip-JBinding.so'
at net.sf.sevenzipjbinding.SevenZip.loadNativeLibraries(SevenZip.java:511)
at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJARIntern(SevenZip.java:383)
at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJAR(SevenZip.java:267)
at com.fsoinstaller.utils.MiscUtils.initSevenZip(MiscUtils.java:440)
at com.fsoinstaller.internet.Downloader.download0(Downloader.java:195)
at com.fsoinstaller.internet.Downloader.download(Downloader.java:144)
at com.fsoinstaller.wizard.InstallItem.installOne(InstallItem.java:1026)
at com.fsoinstaller.wizard.InstallItem.access$1700(InstallItem.java:70)
at com.fsoinstaller.wizard.InstallItem$6.call(InstallItem.java:790)
at com.fsoinstaller.wizard.InstallItem$6.call(InstallItem.java:782)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: /tmp/SevenZipJBinding-klWx7/lib7-Zip-JBinding.so: /tmp/SevenZipJBinding-klWx7/lib7-Zip-JBinding.so: failed to map segment from shared object: Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at net.sf.sevenzipjbinding.SevenZip.loadNativeLibraries(SevenZip.java:509)
... 13 more

Since 7Zip cannot be initialized, none of the archives can be extracted.

According to the log, this is due to a linker error.  What version of Linux are you running?
Ah! Apologies, I should have included that in my first post. I'm running elementary OS 0.2 "Luna," based on Ubuntu 12.04 "Precise"

uname -a
Code: [Select]
Linux Inspiron-1545 3.2.0-87-generic-pae #125-Ubuntu SMP Fri Jun 19 08:44:11 UTC 2015 i686 i686 i386 GNU/Linux
java -version
Code: [Select]
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) Server VM (build 25.66-b17, mixed mode)

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: RELEASE: FreeSpace Open Installer, v2.1.10
Well, nothing obvious jumps out at me.  And the jar contains .so files that should work on both 32 and 64-bit flavors of Linux.

Are you able to test the .so files on your computer and see if there's an architecture incompatibility?