• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Installer

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
34,464
Country
netherlands
Hi all,

For my new tool Autogen Configuration Merger I'm trying to make an installer. But since it's years ago I made one, I'm a bit struggling. I have used InnoSetup in the past, so I tried that one again, but I can't get it to do everything I want. Since Autogen Configuration Merger is a tool that will be installed by the installer of a scenery, I have some "untypical" requirements:

  • Should check if .NET is installed
  • Should only install if no newer version is found (for example a newer version might be installed by another scenery, while an older scenery still comes with an older version of the tool), in that case it should not install.
  • At the end of the install the tool should be run with some specific command line arguments
  • The installer should take some command line arguments, so that the scenery installer calling it can pass through for which FS version it needs to be installed
Does anyone have a suggestion if there is an easy installer program that can do this?

Else I'm considering to just write the logic I want in C# myself. That might be easier than using an installer in the end :)
 
Dang... Must be nice to be able to just write code for your own installer. You are really blessed, Arno.

I do not know if InstallCreator can find what you need, but it has quite a few nice options these days. It can even generate serial numbers now that will work with your installer. Its pretty nice.

Bill Leaming loves his Installer that he has been using for years. He swears by it. Freeware, openware. I do not know what it is called though.
 
Hi Arno:

Just in case this might prove helpful, here's some links to recent threads on a more powerful yet popular installer: :idea:

http://www.fsdeveloper.com/forum/threads/making-an-installer.431872/

http://www.fsdeveloper.com/forum/threads/nsi-scripts-activating-scenery.434116/


...And some links for another popular and capable installer available for freeware / shareware use: :pushpin:

http://www.fsdeveloper.com/forum/threads/install-creator-pro-tutorial.434277/

http://www.clickteam.com/install-creator-2


GaryGB
 
Last edited:
My installer software of choice and preference is NSIS (NullSoft Scriptable Install System), with "HM NIS Edit*" as a front-end for NSIS.

I'm confident that it is fully capable of meeting all of your specified requirements. Even after several years, I'm pretty sure that I'm still not using more than 10% of its full abilities. ;)

What is intriguing is that most of the "power names" in the software industry use NSIS for their products' installers! That's powerful testimony to its strength!

Since you are a programmer, you can easily review and understand its capabilities far better than I can explain them in a forum post. Here is a link to the NSIS Wiki:
http://nsis.sourceforge.net/Main_Page

*This is a sample of the HM NIS Edit window. As you can see, it's very similar to Visual Studio in design. As you might note, after the installer has completed I'm using ExecShell command to display a text file, and run two .exe files:
jXyXe.png
 
I'll guess I'll give NSIS a try. Hopefully the scripting is easier to use than in InnoSetup. Those Pascal style scripts are a bit confusing.

And if that doesn't work, it probably costs less time to write a simple installer application in C# that copies the files and does the checks I want, than try to figure out another installer :)
 
Arno, I wish you would make us a Update Checker/Update Installer for Flight Sim addons. Sell it to us. It would be so nice to have a button/icon someone could press somewhere that says 'check for updates for your 'xxx' scenery or 'xxx' airplane, or perhaps a popup that says, 'an update is available for this product, would you like to download and install it?'
 
Last edited:
Hi Bill,

I already have more things I want to do than time with only my own tools, so making yet another tool is not something that is going to happen soon I'm afraid :).

Also most of my tools are focused on developers. Making something that is end user proof is a different challenge. For my new Autogen Configuration Merger tool that is already showing, since that tool is supposed to run at the end user side as well.
 
I'll guess I'll give NSIS a try. Hopefully the scripting is easier to use than in InnoSetup. Those Pascal style scripts are a bit confusing
The scripting language NSIS uses is sort of a cross between PHP and assembler, Arno. Honestly, it is far less complicated than XML scripting! :rotfl:

Several years ago the LogicLib was added which added "high" level macros so you can do basic If's and loops without goto's. Calling functions and plugins still require push'ing parameters to a stack asm style.
 
Back
Top