Jump to content

[Morrowind] Cannot run WMSA after I install WB306


Leonardo

Recommended Posts

I just found out that I cannot launch Wrye Mash Stand Alone (Yacoby's original WMSA) after I installed WB306 (exe version) and WMSA was working the other day, but now Windows simply refuse to run it.

 

Both Skyrim and Morrowind are installed outside of the C:\Program Files(x86) folder and I also turn off UAC in Windows.  I know something is wrong but I dunno what it is. :shrug:

 

 

I asked utumno if Python 2.7.10 was backwards compatible with Python 2.7.8.  I tried to install Python 2.7.8 and run Sharlikran's WMSA fork of Yacoby's WMSA, but nope it doesn't work.

Link to comment
Share on other sites

I decided to uninstall everything of Morrowind, even Morrowind itself, and later I probably need to use WB303/WB304, if I want to play a modded Morrowind at the same time I play a modded Skyrim.

Link to comment
Share on other sites

I can't see any reason why the standalone copies of both wouldn't run just fine. They shouldn't care about each other at all, and neither one even requires that Python itself be installed.

Link to comment
Share on other sites

I can't see any reason why the standalone copies of both wouldn't run just fine. They shouldn't care about each other at all, and neither one even requires that Python itself be installed.

Perhaps this is what makes it impossible for me to run WMSA.

 

Sharlikran's WMSA is meant to work with Python 2.7.8 and the exe for WB306 is compiled in Python 2.7.10 but the rest of code for WB306 should be Python 2.7.8.

Link to comment
Share on other sites

I don't see how standalone verions are affected by other Python installations on PC. They have all Python binaries linked in the exe and don't use anything Python specific on the machine they are running. At least that's how I understand stand alone Python's executables.

Link to comment
Share on other sites

Hmm... That's odd.  Today I install all necessary software that are required for WMSA and got this error when finishing the installation of the pywin32-218.win32-py2.7 package.

 

close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr

 

Does anyone know what it means?

 

 

 

EDIT:  Just ignore this, since I reinstalled Wrye Bash as Python and the at same time also reinstalled Python 2.7.8.

Link to comment
Share on other sites

Success! :banana:

 

I just reinstalled everything e.g Morrowind, WMSA, MCP, MGE-XE, mlox and now can I run WMSA without having Python 2.7.8 at the same time as I have WB306 installed.

 

But a quick test show that there must be something that prevent WMSA from being executed as an exe and the only thing I know is that I cannot use WBSA306 instead I need to use WB306-Python I think.

 

I'm gonna to try it and let you guys know, if I can run WMSA when having WB306-Python version installed.

 

 

 

EDIT:  After a few more tests I can now confirm to 99% that Wrye Mash cannot be used as an exe upon installing WB306 and executed as an exe or via Python, regardless if it's the stand alone or python version of Wrye Bash.

 

In order to get WMSA working is to run it via Wrye Mash Launcher.pyw (no console) file as a shortcut like this - C:\Python27\pythonw.exe "G:\Bethesda Softworks\Morrowind\Mopy\Wrye Mash.pyw" and make sure you have this directory line - "G:\Bethesda Softworks\Morrowind\Mopy" otherwise the shortcut won't work.

Link to comment
Share on other sites

I can't see any reason why the standalone copies of both wouldn't run just fine. They shouldn't care about each other at all, and neither one even requires that Python itself be installed.

I don't see how standalone verions are affected by other Python installations on PC. They have all Python binaries linked in the exe and don't use anything Python specific on the machine they are running. At least that's how I understand stand alone Python's executables.

I assume both of you are using Windows US-version and being able to run both Wrye Mash, Wrye Bash, both as an exe (especially Yacoby's WMSA) at the same time both tools are installed and executed.

 

 

Can you do that?

 

It's quite obvious now that I cannot do that for unknown reason and I want to find out what's causing this "cannot launch WMSA as an exe after I executed Wrye Bash" issue I need to solve if I can do that.

 

The best lead I have for this issue is what Windows version a user have, in my case I have a Windows non-US version, and still being able to run both Yacoby's WMSA, Wrye Bash 306 as an exe.

Link to comment
Share on other sites

I assume both of you are using Windows US-version and being able to run both Wrye Mash, Wrye Bash, both as an exe (especially Yacoby's WMSA) at the same time both tools are installed and executed.

If it helps, I am able to run the standalone executable versions of both Wrye Bash 306 and Wrye Mash (Yacoby's WMSA) at the same time with no issues, and yes, I am using a US version of Windows 8.1 and was using the same version of Windows at the time both were installed and executed (other than an upgrade from 8.0 to 8.1, I've never had another version of Windows on this computer).

Link to comment
Share on other sites

If it helps, I am able to run the standalone executable versions of both Wrye Bash 306 and Wrye Mash (Yacoby's WMSA) at the same time with no issues, and yes, I am using a US version of Windows 8.1 and was using the same version of Windows at the time both were installed and executed (other than an upgrade from 8.0 to 8.1, I've never had another version of Windows on this computer).

Even if you can execute both exe it isn't enough for a confirmation about having different Windows versions at least when it comes for different language.

 

I think 5 to 10 people who can confirm the same thing as you just did would be enough for a confirmation about having different Windows version US vs. non-US when using both Yacoby's WMSA and WB306.

 

 

I haven't tried Melchor's WMSA yet, but I think the same issue applies as it does for Yacoby's WMSA.

 

However, should I be able to run Melchor's WMSA as an exe at the same time as I execute WB306 then Yacoby's WMSA definitely have a serious bug that needs to be fixed, but I doubt that ever will happen.

Link to comment
Share on other sites

:shrug: US Windows 7 here. I can run both standalones at the same time without issue. I think you're going to find this to be the case with anyone who checks though, because as we've said a few times now, standalones are self contained exe files that don't even require a Python install to function.

Link to comment
Share on other sites

Windows 7 ru

 

Morrowind: WMSA 84

Skyrim: Python Wrye Bash 306

Oblivion:  Python Wrye Bash 302.1 (need to update, but it works and I'm lazy)

Fallout 3 and New Vegas: Python Wrye Flash 30.3

 

All running together without any problems.

Link to comment
Share on other sites

Thanks guys. :)

 

 

@Imstearn:  I'm going to test that right away.

 

@zilav:  I thought you use Windows US version.

Link to comment
Share on other sites

@Leo, For testing, you can always change your windows system locale through the CP (should be similar for W8 & W10). 

YES!  That did the trick. :D

 

 

I change from Sweden (Swedish) to English (USA) and viola mash.exe could be executed.

 

Here, have some cookies. :bigcookie:

Link to comment
Share on other sites

  • 1 year later...

I skimmed over all that but didn't see the actual solution.  It looks like it just happened to work. I posted on Fliggerty also but I'd rather just discuss it here.

One of the problems is that Yacoby wanted to have a log file named Wrye Mash.log. Unfortunately what he changed made that pretty useless. Every time I had an error the log file was empty. The other issue is that szymonszydelko tried to remove the wxPython wx.lib.pubsub dependencies. Now, if there is a way to not require those then sure, they aren't needed. However, I wouldn't know how to do it and he didn't do it correctly.  Well maybe he did but the old code was for Python 2.4 and wxPython 2.5.3.1.  Since I'm using wxPython 2.8.12.1 unicode then the changes don't work.  I can guarantee nothing has been updated since Python 2.4 and wxPython 2.5.x because it just doesn't show the proper changes.  In fact there is still latent code to force wxPython to run as 2.5.3.1.

The only thing I did was implement a change that Lojack told me about so that it returned the proper path with Python 2.7.8 or higher. I am still rebaseing the commits slowly one at a time because I'm trying to format the code so I can compare each commit to what actually changed. I have cut out a lot of the noise in the commits by not using code that simply has a CR on one line to make it look better. It wasn't an actual change, just a style change.

I was able to make an exe out of Yacoby's code with some minor changes. Once I'm done rebasing everything I want to do a git bisect and see where the bugs were introduced that Leonardo has mentioned. Although I have to go find those again.  I have one version where I added an INI setting for the game directory but I have not refined that and it's not in the main master branch.

If you have been wanting Yacoby's version as an EXE I have a pre-release version here that is already compiled. It no longer includes the source.zip file as that wasn't being generated correctly. However, you can download the source separately if you wish.

Link to comment
Share on other sites

Your bump came to me as a surpirse and I appreciate what you have done and still doing.  You have my support and if you ever need a tester then let me know. :)

 

If you really want to know what bug I mean then try to edit the file header in Yacoby's WMSA and I know you'll get an error.  Then do exactly the same thing in Melchor's WMSA and now you'll NOT get an error I promise.

After you have tested both WMSA versions then compare Yacoby's code with Melchor's code and change Yacoby's code then test it.  Should you be able to edit the file header in Yacoby's WMSA without getting an error then bug is fixed.

Other than that bug I dunno what more bugs that exists, except for the mini tabs in the Installers tab shown in the top picture.  When I click on any other tabs then the selected tab in the picture it will generate an UniCode error I think.

Like you said the Python code in WMSA, even in the original Wrye Mash 84 released by Wrye himself, are based on Python 2.4 and/or Python 2.5 is way outdated and has never been properly updated.

Link to comment
Share on other sites

Test the tabs and the renaming. I just tried it and it worked fine. I don't have any mods installed.  I just renamed Tribulan.esm to Tribunat_r.esm and back but it worked.  I don't know if I am really testing the installers tab well enough.  The files I have in the Morrowind Bash Installers folder probably could be unpacked and made into a more BAIN compatible installer. I don't know if it's really working because I don't have to worry about Unicode issues or what. However, I can't reproduce either issue.

Link to comment
Share on other sites

1 hour ago, Sharlikran said:

Test the tabs and the renaming. I just tried it and it worked fine. I don't have any mods installed.  I just renamed Tribulan.esm to Tribunat_r.esm and back but it worked.  I don't know if I am really testing the installers tab well enough.  The files I have in the Morrowind Bash Installers folder probably could be unpacked and made into a more BAIN compatible installer. I don't know if it's really working because I don't have to worry about Unicode issues or what. However, I can't reproduce either issue.

I know I will always get an Unicode error when selecting the Better Armor (rev-14 Glass Armor) mod in BAIN.  HedgeHog-12 created that mod a long time ago and in 2014 I recruited him to the UMP project, which I later left in mid December 2015 due to RL.

I think he is a Russian modder and installing his mod or any mod, created by a non-US modder, will always throw an error in BAIN in the original Wrye Mash 84 or in later WMSA versions regardless what Python version one are using.

So that could explain why weren't enable to reproduce the bug(s) I mentioned.

Hmm... Interesting.  I just installed HedgeHog-12's Better Armor (rev-14) mod and now I don't get an error in BAIN, maybe this is related to the fact I don't have Python installed.

 

24 minutes ago, Sharlikran said:

I updated the readme to version 87, and updated the 7zip files. I was able to successfully install a 7zip archive made with a recent version of 7zip.  See how that works Leonardo.

Sure, I'll test it.  Btw... When you test it yourself, was it with a retail version or was it with the Steam version of Morrowind?

Why I ask is because I nowdays have both Morrowind versions (retail and Steam) and currently my retail Morrowind already use Melchor's WMSA.  While Morrowind from Steam is plain vanilla, so I am gonna to test your latest branch with the Steam version.

I am not sure if you ever tried to use both Yacoby's WMSA and Melchor's WMSA at the same time, because I know you can thanks to Melchor who made it possible to run two copies of WMSA since Melchor's WMSA can be installed outside of the Morrowind\Mopy folder and still work.  Which I did and now use Melchor's WMSA for my modded Morrowind (retail).

Link to comment
Share on other sites

Thanks for pushing a stand alone code due for not having Python installed on my system.

Alright, I install it and notice one important thing, the official masters (Morrowind.esm, Tribunal.esm, Bloodmoon.esm are not sorted by default regardless what timestamp of each esm has.

Morrowind.esm

Tribunal.esm

Bloodmoon.esm

 

Another observation I made is that the edit the file header bug still exists and below is the error I got, but I guess you wasn't able to figure it out how to actually fix it in Yacoby's WMSA.

Traceback (most recent call last):
  File "mash\masher.pyo", line 1388, in OnSave
  File "mash\mosh.pyo", line 2611, in writeHedr
  File "mash\mosh.pyo", line 2007, in getSize
struct.error: argument for 's' must be a string

How to fix that bug?  Well, my advice is to merge the improvements Yacoby did e.g press and hold down the Ctrl+<arrow> and use Up or Down to move a mod (esm/esp) or move a bunch of mods (more esp than the installed esm in total) at the same time in BAIN on in the Mods tab, into the code for Melchor's WMSA.  Doing that might get rid of the edit the file header bug that exist in Yacoby's WMSA which Melchor's WMSA doesn't have.

Also, I think most people would appreciate if the Master Lists.esp was present by default after launching your WMSA 87.

So why not include the Master Lists.esp into the main archive since a lot of people are using the merge the levelled lists feature in WMSA, which are probably the only thing WMSA users can use right now due for being based on old and outdated Python code.

Link to comment
Share on other sites

2 hours ago, Leonardo said:

Hmm... Interesting.  I just installed HedgeHog-12's Better Armor (rev-14) mod and now I don't get an error in BAIN, maybe this is related to the fact I don't have Python installed.

my retail Morrowind already use Melchor's WMSA.  While Morrowind from Steam is plain vanilla, so I am gonna to test your latest branch with the Steam version.

I am not sure if you ever tried to use both Yacoby's WMSA and Melchor's WMSA at the same time, because I know you can thanks to Melchor who made it possible to run two copies of WMSA since Melchor's WMSA can be installed outside of the Morrowind\Mopy folder and still work.  Which I did and now use Melchor's WMSA for my modded Morrowind (retail).

So for the first comment, rememeber when you use th Python code, as .py files, then Python matters, the version matters, the version of comtypes and wxPython all matters. When you use the standalone, none of it matters because it's not used. You don't need Python to use the EXE that's the point of compiling it into an EXE.

Steam.

Yacoby's version is Melchor's version. I didn't really know that much about it until I started fiddling around with things. At first Yacboy was just modifying Wrye's version, then for whatever reason he just imported all of Melchor's code, and started over from there.  Now that doesn't mean a change didn't introduce a bug or issue though.

Link to comment
Share on other sites

Once I have finished doing more work on unstaging and staging changes so I can better understand the changes I'll see why that happens.  The odd thing is that for first glance how it's trying to write the HEDR looks correct.  Don't try to rename them until I can troubleshoot that.  I'm going to use TES3Dump to dump out the header so I know what I should be seeing in the plugins.

@hlp The master branch was updated a few years ago to r1939, it gives me an error about images.dcu being missing.  When you have time can you update that and make sure it compiles?

Link to comment
Share on other sites

10 minutes ago, Sharlikran said:

So for the first comment, rememeber when you use th Python code, as .py files, then Python matters, the version matters, the version of comtypes and wxPython all matters. When you use the standalone, none of it matters because it's not used. You don't need Python to use the EXE that the point of compiling it into an EXE.

Steam.

Yacoby's version is Melchor's version. I didn't really know that much about it until I started fiddling around with things. At first Yacboy was just modifying Wrye's version, then for whatever reason he just imported all of Melchor's code.  Now that doesn't mean a change didn't introduce a bug or issue though.

I know that about the stand alone vs Python, but can you explain to me why I always get a Python error when using the edit a file header feature in Yacoby's WMSA while I don't get that error in Melchor's WMSA regardless if Python are installed or not installed aside of being a non-US user of Windows-1252.  We in Sweden are using the CodePage 850 and can sometimes also use the CodePage 437 if it's necessary.

Another thing that matters is about what kind of version we are talking about and what I mean is between ANSI and Unicode and I know that is important for mlox, especially the wxPython ANSI version which mlox requires otherwise mlox won't work.

Correct me if I am wrong, but I think most of the code for Wrye Mash are written with the ANSI version of wxPython.

 

Yes, I am aware of Yacoby's WMSA Fork of Melchor's WMSA.  It was actually who made me aware of the edit file header bug in Yacoby's WMSA in the first place and he has been since then using both WMSA versions due for various reasons.

1. If someone who is using both WMSA version wants to edit the file header in any mod then the user use Melchor's WMSA, just for that purpose

2. I can only guess, but I think Spirithawke are only using Yacoby's WMSA just for being the latest WMSA version

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...