• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Solved Improved Build 14 Beta 3 Installation Process

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
Build 14 Beta 3: Proof of Concept Installer
Comments needed! Also, perhaps some testing....

Link: http://piratesahoy.net/build/wip/b14_beta3_installer.zip

This ZIP contains three files:
1. b14_beta3_installer.exe
The idea is that for future updates, we do NOT need to redo this main installer file.
At the moment, this contains ONLY:
- Stock game MODULES folder
- ENGINE.exe
- engine.ini

So if this is installed without any of the additional parts, the game should still work.
Should we even include ANY content in the main EXE? If so, what would make sense to have added here?

2. b14_beta3_full.7z
Will contain the entirety of the Build 14 Beta 3 files. 7-Zip doesn't care much about filesize, so this should be able to exceed 2 GB.
If not, we can move anything else into the "update" file as per below.

Note that you CAN deselect this section, in case in the future you will try to install an update only without wanting to install the ENTIRE modpack.
If the file is missing, the installer will give an error message and continue. After all, it is selected by default and people might "forget" to deselect it when updating in the future.

3. b14_beta3_update.7z
Contains additional update files and cannot be deselected to ensure that people don't miss out on the updates.
It gives an error message AND aborts if the update file is not present, unless the full file IS present.
This is in case you install ONLY the main modpack and no future update. Would be a bit confusing otherwise.

Unfortunate side-effect of the above method:
Since the 7-Zip files are extracted first to the folder with the EXE in it, ALL modpack files need to be moved to the installation directory later.
This makes the installation process take quite a bit longer than would otherwise be the case. I've got no idea how to get around this though.

Still To Do:
Incorporating the former RunMe.bat functionality in the "Main Files" section so that the actual installer takes care of it instead of a separate BAT file.
Hopefully this will improve the modpack's chances against its battles against Windows Security Stupidity.


So....... whatcha people thinks? :rolleyes:


=================================================

Original Opening Post:

Does anyone have any thoughts on how to make the Beta 3 installation process work as well as possible?
Here are some things to consider:
1. Beta 2.1 was at the limit for one installer, so it HAS to be a two-parter
2. Windows Security Stupidity seems to be doing its very best these days to NOT let RunMe.bat do its work, regardless of what folder people install to

Easiest would be to compile it same as the Beta 2.5 installer: to be installed on top of Beta 2.1.
This would probably amount to around a 1 GB file.

Beta 3 removes a lot of files that were in Beta 2.1 though, so that means that RunMe.bat needs to do even more to clean up.
Also, Beta 2.1 does NOT have the correct Intel Fix included, so people with such a GFX card cannot test their game properly between steps.
And RunMe.bat has to be run twice. So twice the danger of something going wrong there.

I'm open for suggestions here. :doff
 
Last edited:
If at all possible, I'd vote for a full Beta 3 installer that can be applied straight on top of the stock game.
Retaining the need for Beta 2.1 as a 'stepping stone' would only ensure there are more ways for people to mess the entire process up (and I don't need to remind anyone how often that happens :wp).
 
I also think a Full Install of Beta3 would be better..
For the Windows Security.. is it possible to bypass it by switching firewall etc. off? And other partitions as the windows partition still work, do they?
 
If at all possible, I'd vote for a full Beta 3 installer that can be applied straight on top of the stock game.
Retaining the need for Beta 2.1 as a 'stepping stone' would only ensure there are more ways for people to mess the entire process up (and I don't need to remind anyone how often that happens :wp).
I know. But how does that work for it being a two-parter?

For the Windows Security.. is it possible to bypass it by switching firewall etc. off? And other partitions as the windows partition still work, do they?
I wished I knew. *I*'ve got problems with that on my ruddy external hard drive. Figure that one out. :modding
 
Hmm.... perhaps we can do away with RunMe.bat by including all required file operations in the actual installer file?
Perhaps that will get round the whole "rights" issue?

Some commands that might be useful:
Delete
CopyFiles
CreateDirectory
RMDir
SetOutPath

More details: http://nsis.sourceforge.net/Docs/Chapter4.html

Will be a bit annoying to do the BAT>NSIS rewrite, but it should be possible.

This might help getting around the 2GB limit: http://nsis.sourceforge.net/Multi-volume_Distribution
 
Last edited:
Others have gotten around large file size by using a part1, part2, etc. system. I do not know how it works, but I know that system has been around for many years.
 
I think that is going to be the only thing that we can do. Just have to figure out how.
 
Just did a quick 7-Zip version of all Beta 3 files and it clocks in at 2.29 GB. Just over the 2 GB limit. :facepalm
 
This is getting ridiculous. Getting this to work appears really very close to being rocket science.
So far, I've got:
- multivolume sample that won't compile due to all sorts of error messages.
- CABSetup that contains about a million files that I have zero clue on how to use.
- nsis7z_plugin_1 that works brilliantly, but only IF the 7-Zip file is included IN the installer. Which obviously doesn't help, because then it will STILL be too large.
- Untgz Contrib plugin that I, again, have no idea on how to even get working. Am I supposed to compile it all into a usable DLL file MYSELF???

Best I could do so far is to extract stuff to the same folder where the installer is.
But that's NOT where we want it, now, is it?
 
That sounds crazy. I thought it was supposed to be a simple-ish process using the same software you've always used. o_O
 
That software is fine for installers below 2 GB. Above, though, and things clearly become a royal pain.
Would probably be much easier for actual programmers, but I don't understand most of it.
 
So what are we going to do? Make two totally separate installers?
 
I suppose we can extract the 7-Zip file to the folder with the installer first and then move it all to the correct folder afterwards? Still experimenting. :modding
 
Here's an interesting experiment. The EXE file contains ENB and the Intel Fix, but NOTHING else.
When run, it checks if "Test.7z" is present. If not, it gives an error message.
If it DOES exist, it will extract it to the same folder where the installer file is located.
Afterwards, it copies the contents to the selected installation folder and removes the the files from the EXE directory.

Problem with this: You need twice the HD size and I think we might get overwrite issues too.
Still needs further figuring out.

I wonder if we can also automatically make it load a second 7-Zip file that contains future updates.
That might work for new installations. But what if you are updating an existing install?

Questions, questions. :modding
 
Give attached a shot. This one should move and overwrite properly without resorting to copying.
It will also ask to edit engine.ini straight after the installation process so hopefully people will no longer be confused on the missing Config.exe .

Now we'll have to see about putting the RunMe.bat functionality back in AND seeing how this works with the REAL 7-Zip file we'd need.
And think of a way to make this work to install updates too. Would be cool if we'd just need one installer EXE file and we'd just feed it new 7-Zips if an update is needed.
 
Thread made publicly visible. See opening post for the latest progress. I'd welcome everyone's input on this one.
We need to make this as simple and fool-proof as possible for the users. And preferably for future Modders too. ;)
 
I've been looking for part1, part2, part3 etc. installers but have come up empty. I know it exists, I've used it! Just can't find it.
 
I found some sample code for that, but it wouldn't compile due to error messages. Not sure why.
Someone familiar with that type of code could probably fix it in no time at all. But no such luck when I tried.
Thankfully, I HAVE made other progress as per the opening post. It's a bit slow, but does show promise.
 
Additional ideas:
1. Check if "ENGINE.exe" is present before installing to ensure people DO have the original game installed first
2. Check if "Build Info.txt" is present before installing UPDATE Files to ensure people DO install the Main Files first

If the ENGINE.exe check fails, the entire installation directory will be deleted.

Does that sound like a good idea? Should be another fail-safe to prevent people from making the common mistakes caused by "not reading".

I also added RequestExecutionLevel highest which should give the installer file all Windows Security Rights to do this thing PROPERLY.

Which of the following information would we then still need to keep?
Code:
_  _  ______ _____  ___ ______  _____ _  _  _  _
| | | |  | ___ \  ___|/ _ \|  _  \  |  _  | \ | |  | | | |
| | | |  | |_/ / |__ / /_\ \ | | |  | | | |  \| |  | | | |
| | | |  |  /|  __||  _  | | | |  | | | | . ` |  | | | |
|_| |_|  | |\ \| |___| | | | |/ /  \ \_/ / |\  |  |_| |_|
(_) (_)  \_| \_\____/\_| |_/___/  \___/\_| \_/  (_) (_)

>>>IMPORTANT<<< installation information below!

=====================================================
CRUCIAL INSTALLATION TIPS:
=====================================================

1. You MUST install this on top of the unmodified stock game
  Pirates of the Caribbean, released in 2003 by Akella.
  The mod is NOT a standalone game!

- DON'T install the game to Program Files,
  otherwise Windows prevents it from installing correctly
  Install to, for example, C:\Games\Pirates of the Caribbean

- Set your resolution by editing engine.ini with Notepad
  Recommend setting screen_x and screen_y to your desktop resolution,
  then set fullscreen to 0, allowing you to Alt+Tab in and out

- Check out the controls in
  Documentation\Default Key Assignments.txt

- Set the game's settings to your liking in the
  Options>Game Preferences menu

- !!!SAVE OFTEN!!!


=====================================================
KNOWN GAME ISSUES AND SOLUTIONS:
=====================================================

- Windows Security Issues:
  If necessary, use "Compatability Administrator (32-bit)"
  http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7352

- Using ffdshow:
  Add the game to your "exception list"


=====================================================
ADDITIONAL INFORMATION:
=====================================================

- Useful Gameplay Tips in:
  Ingame "Tips & Tricks" Menu

- PDF Manuals in:
  Documentation folder

- Changelog in:
  Build Info.txt


=====================================================
GAME AND MODPACK SUPPORT:
=====================================================

- Storyline walkthroughs:
  http://www.piratesahoy.net/wiki/new-horizon-quests/

- Frequently Asked Questions:
  http://www.piratesahoy.net/threads/frequently-asked-questions.14915/

- Full support available at the PiratesAhoy! Community:
  http://www.piratesahoy.net/forums/
Most of the information mentioned can now be found ingame or will hopefully be covered through fail-safes in the installer.
 
Last edited:
I finally got around to trying this and first just tried the beta 3 installer .exe. It instacrashed.

Tried the beta 3 full and instacrashed.

Tried the beta 3 update and instacrashed.

The stock game worked ok.
 

Attachments

  • compile.log
    67 bytes · Views: 126
  • error.log
    308 bytes · Views: 135
  • system.log
    509 bytes · Views: 129
Last edited:
Back
Top