Skip to main content

[REQ] Coder needed to build Installer - yes again! (incomplete)

Submitted by grumpycat on

First and foremost we need a coder who can support this tool long term. We appreciate the contributions of past developers making installers, but we need constant updating and maintaining. I've been meaning to write a brief specification.

Requirements: Must work on Windows XP, Windows Vista, Windows 7 (32 or 64 bit), Windows 8 (32 or 64 bit)

Must work with Steam installs of Skyrim.

The first Wizard panel will check for an existing install of Skywind. Check for the following Skywind core files exist:

"\Data\SkyWind.esm"
"\Data\Skywind - Patch.bsa"
"\Data\Skywind.bsa"

If it doesn't find the following files then go to the "Welcome Not Detected Wizard Panel", if it does go to the "Welcome Detected Wizard Panel"

Welcome Not Detected Wizard Panel

We cannot detect a Skywind install. Do you want to:

[SELECT BOX 1] Install Skywind

or

[SELECT BOX 2] Browse for an existing install of Skywind [BROWSE FOLDER BUTTON]

[NEXT BUTTON]

If [SELECT BOX 1] and [NEXT BUTTON] then go to the "Install Wizard Panel"

If [SELECT BOX 2] is selected then enable [BROWSE FOLDER BUTTON] and user can browse folders to find an existing install.

If [SELECT BOX 2] and [NEXT BUTTON] then check for existence of the Skywind core files. If valid go to the "Welcome Detected Wizard Panel".

 

Welcome Detected Wizard Panel

We have detected a Skywind install in the following folder: {folder path} [BROWSE FOLDER BUTTON]

Your version is XX.XX and the latest version is YY.YY. Please select from the following options:

[SELECT BOX 1] Update to latest version

[SELECT BOX 2] Launch the game

[SELECT BOX 3] Graphic Settings

[NEXT BUTTON]

If [BROWSE FOLDER BUTTON] is selected user can browse folders to find any existing install. Only change if validated that core Skywind files exist. Update panel to reflect their version.

If [SELECT BOX 1] is selected then download latest version and take user to "Graphics Wizard Panel".

If [SELECT BOX 2] is selected then detect if SKSE is installed. If so then execute "skse_loader.exe", otherwise execute "SkyrimLauncher.exe".

If [SELECT BOX 3] is selected then go to the "Graphics Wizards Panel".

 

Install Wizard Panel

Please identify your Morrowind install (for legal purposes to prove you own the game) [BROWSE FOLDER BUTTON]
Please identify your Skyrim install (for installation or copying files) [BROWSE FOLDER BUTTON]

Choose an installation option:

[SELECT BOX 1] Skywind is created with a new installation of Skyrim. New game only. This ensure that your current Skyrim game is unaffected and that unique Skywind features can be added without conflict. (Recommended. Needs 10GB free disk space) [BROWSE FOLDER BUTTON]

[SELECT BOX 2] Skywind is copied to your existing Skyrim install. New game or use a Skyrim character. Possible corruption, conflicts and stability problems to your Skyrim game. (Needs 3.5GB of free disk space)

[NEXT BUTTON]

 

Need to check for the Morrowind install for legal purposes. User can browse to a folder in case the installer cannot automatically find the install.

Need to find an instance of Skyrim. User can browse to a folder in case they want to install or copy a particular version on their machine.

If they choose [SELECT BOX 1] then the [BROWSE FOLDER BUTTON] will become enabled. User needs to browse to a folder for Skywind to be installed.

If [SELECT BOX 1] and [NEXT BUTTON] is selected then validate Morrowind is install and that 10gb of hard drive space is free.

The Skywind core files will be copied to the install folder. These will be:

"\Data\SkyWind.esm"
"\Data\Skywind - Patch.bsa"
"\Data\Skywind.bsa"

The following files will be copied to the install folder from the Skyrim directory. After that go to the "Graphics Wizards Panel".

"\Skyrim"
"\high.ini"
"\installscript.vdf"
"\language.txt"
"\low.ini"
"\medium.ini"
"\readme.txt"
"\reloaded.nfo"
"\SkyrimLauncher.exe"
"\steam_api.dll"
"\TESV.exe"
"\VeryHigh.ini"
"\WDoubleYouW.nfo"
"\whatsnew.txt"
"\Data\Skyrim - Shaders.bsa"
"\Data\Update.bsa"
"\Data\Update.esm"
"\Data\Skyrim.esm"
"\Data\Update.bsa"
"\Data\Update.esm"
"\Data\Skyrim - Animations.bsa"
"\Data\Skyrim - Interface.bsa"
"\Data\Skyrim - Invalidation.bsa"
"\Data\Skyrim - Meshes.bsa"
"\Data\Skyrim - Misc.bsa"
"\Data\Skyrim - Shaders.bsa"
"\Data\Skyrim - Sounds.bsa"
"\Data\Skyrim - Textures.bsa"
"\Data\Skyrim - Voices.bsa"
"\Data\Skyrim - VoicesExtra.bsa"
"\Data\Interface"
"\Data\Strings"

 

If [SELECT BOX 2] and [NEXT BUTTON] are selected then the Skywind core files will be copied. Need to check that Morrowind is installed and that 3.5GB of free disk space is available. If so then go to the "Graphics Wizards Panel".

 

We possible might have a Level of Detail program written by Ehamloptiran and this might have a level of decimation that user can select options themselves, otherwise we can pre-bundle up the various options.

Graphics Wizard Panel

Please choose options which will best suit your system

Textures:

[SELECT BOX 1] Low [SELECT BOX 2] Medium [SELECT BOX 3] High

Distant Level of Detail Land:

[SELECT BOX 1] Low [SELECT BOX 2] Medium [SELECT BOX 3] High

Distant Level of Detail Objects:

[SELECT BOX 1] Low [SELECT BOX 2] Medium [SELECT BOX 3] High

Grasses:

[SELECT BOX 1] Low [SELECT BOX 2] Medium [SELECT BOX 3] High

Custom Race Stylization:

[CHECK BOX 1] Dunmer

[CHECK BOX 2] Human

[CHECK BOX 3] Argonians

[CHECK BOX 4] Khajiit

[NEXT BUTTON]

 

Karma: 0 (0 votes)
Last edited by grumpycat on 4 Apr 2014 - 14:10.

Can you please lock this thread and put this in a document the main developpers can review internally before giving the specs out like this.

Karma: 0 (0 votes)

Any progress by previous developers available or it must be made from scratch?

Karma: 0 (0 votes)

I have PM'd HappyChappy regarding this task. It seems to have been started and abandoned off and on for a while. I'd like to get the current status and the latest code/information on the installer to assess the state of it.

~Rev~

Karma: 0 (0 votes)

I can get this working and ensure continued support. I have most of these features already built out in an app my company is working on, but will need a week or so to add some of the details and side options.  Rev, are you looking to help on this as well? We could use an extra coder and / or tester.

Karma: 0 (0 votes)

Is your company's app proprietary? Could any intellectual property conflicts arise using that code? Aside from that, yes I am planning on helping with this. I have what I believe to be the most recent code from the last person that was working on this and am currently testing it out. Where can I get my hands on the latest install files (.esm, assets, etc)?

Karma: 0 (0 votes)

If this task is still in need of a developer I would like to offer my time to this.  I have experience with writing File/IO using standard C as well as fully utilizing WinAPI.

I am an active MSDN member until 2016 and will have 100% access to new API's, software / whatever could be needed for this.  Also, I am able to spend a decent amount of time to get this done well, and feature rich.

Please let me know if I can help.

Michael

Karma: 0 (0 votes)

So... do we update the files or project here? Do we have a github or something? 

Karma: 0 (0 votes)

I realize I'm new in these parts but please do not use an MSI based installer. I would suggest not using NSIS though it still probably viable. I would highly recommend innosetup as the main installer as it produces very compact (includes latest compression) files and also are standalone (unlike MSI) and have just about every feature that should be required here. I may be a little out of date with the best in class free installers these days but inno has never failed me as an installer.

I would say the only downside of inno is that it uses pascal as a scripting language but really its not that bad. It has good support for detecting and using x64 vs x86 architectures if that is relevant here and can easily spawn scripts if something like python is required for actually install.

I would also suggest that the final installer not be a giant executable if its greater than say 20 MB as some antivirus tools are a little stupid with huge exes but then again a single file download is nice.

Karma: 0 (0 votes)

I think more people use XP than Vista, if anything, drop Vista support. In fact, all honestly I reckon it should only be compatible for Windows 7 and later users... but that's probably a bit harsh.

Karma: 0 (0 votes)

I am currently working on the installer right now. Microsoft doesn't even support XP, so I feel like that should not be a requirement. And honestly I agree with Andrey around Vista.

From a programming perspective, it will make the code simpler, easier to fully test, and more maintainable (all extremely important) if it has to support fewer/newer platforms.

Karma: 0 (0 votes)

Hey Rev, are you working on a different version?  As I mentioned earlier, I've been working on getting Skywind supported with the installer we already have (which is built for Skyrim).  I actually logged in to post an update.  

The installer can now fully install and uninstall ALL the Skywind files.  I still have some work to do on simplifying the process (I had the break the zip files up into slightly smaller sizes) but everything seems to work as intended.  Also, this version supports XP and up.

The next step is building the version control side so Digitalparanoid (or whomever) can manage updates to the content.  Hit me up when you get online and I can walk you through the process.  

 

Karma: 0 (0 votes)

It seems there are a lot of people willing to help out on this one. Perhaps should create a github? But first and foremost figure out if Rev and Kreisher is working on 2 different installers?

Karma: 0 (0 votes)

Hori

Does Skyrim even work on XP? :)

Yes

Karma: 0 (0 votes)

Access rights are broken. Could you re-upload your file to another server, other than tesrenewal.com?

Karma: 0 (0 votes)

Do you guys still need an installer?

I'm willing to write one if you need it.

Karma: 0 (0 votes)

Do you match the most important requirement of doing this?

First and foremost we need a coder who can support this tool long term. We appreciate the contributions of past developers making installers, but we need constant updating and maintaining.

 

Karma: 0 (0 votes)

Yes, I will be able to maintain it. I have lots of free time I can dedicate to this project.

Karma: 0 (0 votes)

Ok, do us proud then!

Karma: 0 (0 votes)

Just ran across this thread.  Sorry I've been MIA...  I was working with Rev, Zilaz and Digitalparanoid to flesh out the details.  I've been working on the installer for several weeks now and should have something ready to go in a few days.  I'm integrating it into the ModDrop mod manager so you can not only install Skywind, but also manage other mods that you want to play with it.  This should also allow us to have Skywind act like its own game, complete with its own set of mods.

I spoke with Zilaz about the need to detect lower level Morrowind files to ensure the player has it installed (to avoid copyright issues).  This will be automatically detected during initial setup. 

The install will also have a way for Digitalparanoid (or another admin) to update files and push changes out through to installer.  The auto-update feature may take a little longer to implement though.  Couple weeks probably.

I still need to build the UI to enable the various graphic options, but I should be able to get that finished over the weekend.

@ Hori: It's written in C#, so it runs on XP =-)

@ GrumpyCat: Sorry for not providing an update sooner…

@ LiQuiFY: Would love some help with testing what we have and / building the graphic options wizard if you're interested!

If anyone has any specific questions or wants to help with testing, please PM me.

Karma: 0 (0 votes)