tsunamods-codes / 7th-Heaven

The Ultimate Mod Manager for Final Fantasy VII PC
https://7thheaven.rocks/
Microsoft Public License
129 stars 25 forks source link

Exception Error when running from first time 7th Heaven (canary 2.3.1.82) #35

Closed LaZar00 closed 3 years ago

LaZar00 commented 3 years ago

I have decided to do a clean install of FF7 and FFNx+7th (canaries). I'm using Windows 10 x64, as Admin.

After downloading canary 2.3.1.82 of 7H, I unzip the file to C:\Games\7th Heaven. When I try to run it, I get an exception error. I have installed Final Fantasy VII, PC '98 spanish version on C:\Games\Final Fantasy VII before unpacking 7H to the previous mentioned folder.

I leave the applog of 7H. It seems that does not create the theme.xml, settings.xml, catalog.xml, library.xml or version.xml files in 7thWorkshop folder.

applog.txt

julianxhokaxhiu commented 3 years ago

I'll fix this once #36 is merged.

barkermn01 commented 3 years ago

@julianxhokaxhiu do you know how this is possible?

julianxhokaxhiu commented 3 years ago

@julianxhokaxhiu do you know how this is possible?

When there's no installation path set ( fresh install, no ff7 detected ) then this might happen. I have an idea how to fix this as we have a unique class in the entire codebase now to handle the FFNx Configuration, so I don't need to initialize a global Sys object to hold the path to the FFNx.toml file.

LaZar00 commented 3 years ago

I don't know if this will help, but you can get the FF7.EXE path from registry when PC98 version is installed, and I think this works for any PC98 localized version. I'm using W10 x64. Maybe in W7/W8 the registry entry varies. imagen

barkermn01 commented 3 years ago

The detection system uses the registry as part of its detection but I don't think it's the copy from the WOW6432 node, however, I'm not even sure how that key got installed there FF7 predates 64Bit windows by quite some time, so might be some windows trickery happening on entry of that record that might not be happening on 7th heaven due to it being compiled as x86_32 (the 32 bit on 64-bit assembly type), will need looking into. might be the detection needs another key path to check for the game.

We have someone else using retail disks and did not seem to have this problem so will need to look into it, is there any chance you could create ISO's of your disk and put them somewhere private and send me a message on discord Martin#3240 with them so I can try that install, I do actually have a license for windows disk-based just my disk 1 broke and since then I have lost the other disks :D so you won't be infringing copyright :D

LaZar00 commented 3 years ago

AFAIK, from W8.1 I think, when installing old Windows apps (WinXP, 2000, etc...) 32bits, the registry data that the installers put in Windows, do it in WOW6432Node entry. So, it is normal it is in this entry.

Apart of this, this only happens when NO previous data is found. I deleted registry keys, and renamed FF7/7H folders to leave it clean. If I donwload the canary, put it in another folder, and run it, it will detect the old/real 7H installation and FF7 (if the folders are mantained), and will update the data. If there is not any data, the Exception occurs. I don't know this someone else using retail disks if has done it from scratch or runs 7H from another folder/disk having one installation done.

You can test it only with the INSTALL disk. Do the install, apply patch 1.02 spanish and then check with 7H canary. I will try to upload the backup of the disk when I can.

barkermn01 commented 3 years ago

apply patch 1.02 Spanish ok, EU disk installer (from the UK) i had when this released, asked you to select a language, what copy of the disks do you have? maybe different versions of the disk installer at play here...

julianxhokaxhiu commented 3 years ago

The detection system uses the registry as part of its detection but I don't think it's the copy from the WOW6432 node, however, I'm not even sure how that key got installed there FF7 predates 64Bit windows by quite some time, so might be some windows trickery happening on entry of that record that might not be happening on 7th heaven due to it being compiled as x86_32 (the 32 bit on 64-bit assembly type), will need looking into. might be the detection needs another key path to check for the game.

That's exactly the case. I remember I had this patched in 7th 1.5 long time ago, but probably the patch never mad its place on this version. This might be the real solution to this issue. I'll look into it this evening.

LaZar00 commented 3 years ago

apply patch 1.02 Spanish ok, EU disk installer (from the UK) i had when this released, asked you to select a language, what copy of the disks do you have? maybe different versions of the disk installer at play here...

No, no, spanish PC98 retail disk does not asks for any language. It installs directly (with spanish installer). Even it has a problem (if you have installed a previous version of FF7 PC98), that it gives an Error 432 the installer. You must delete from Windows directory the files IsUn040a.exe and IsUninst.exe (if not you can not install/reinstall it): imagen

FYI, even the auto-converter works well. ;)

Update: Uploading the Install Disk ISO, but it will take some time. I have only a 6Mb connection. :(

FYI2: There is another guy that has suffered the same problem, and he has the USA retail disks.

julianxhokaxhiu commented 3 years ago

Registry keys detection works fine and nothing has to be done. The crash is completely unrelated and it was introduced by #33 when I mistakenly thought I could use one property on init. This has now been fixed in #37.