Page 1 of 1
ABACUS asreg01.dll missing error but it's there!

Posted:
Thu Jun 19, 2008 2:21 pm
by SVMirador
I am trying to use the Abacus Premier or Platinum
Re: ABACUS asreg01.dll missing error but it's there!

Posted:
Sat Jun 21, 2008 8:03 am
by Felix/FFDS
[quote]
Does anyone have a suggestion about making the Abacus test flight process work under VISTA32/FSX?
Re: ABACUS asreg01.dll missing error but it's there!

Posted:
Sat Jun 21, 2008 6:06 pm
by SVMirador
YES - I did receive a reply from Abacus - they are trying to be helpful and have been prompt in their replies but I guess I am in a unique situation?? FSX lives on a RAID array and VISTA on a separate drive.
How did you know Abacus responded to me???
Here are some of the details:
From Abacus:
I am out of suggestions. There is a spot in the Registry that hold the registration information but we're not even sure where it is - that apparently prevents us from telling people how to re-set the trial period...
Anyway, I'll contact the author and see what he says on this. I can say that your setup is a-typical and has not be tested by us or the author ;+}
If he gets a new version, we may be interested in using you as a guinea pig though ;+}
My response (that I have not yet sent since I am still doing research):
When I use PE Explorer to analyze AbacusPremierCollectionFSX.dll I find all dependencies are met and there appear to be no errors in the dll. I do note that it wants simconnect 10.0.60905.0 and the version I am using is 10.0.61637.0 but since that is a build change it should be compatible.
When I try to load AbacusPremierCollectionFSX.dll from G:\Windows\System32 (I copied it there manually) using the VISTA command line regsvr32 (run as administrator) I receive an error message "The module "AbacusPremierCollectionFSX.dll" failed to load. Make sure the binary is stored at the specific path or debug it to check for problems with the binary or dependent .DLL files. The referenced assembly is not installed on your system."
I know the AbacusPremierCollectionFSX.dll is in the folder because I do a dir abacus*.dll and see the file info
When I run from the VISTA Start/Run process (as an adminstrator) I Browse to the System32 folder and select the AbacusPremierCollectionFSX.dll and then execute regsvr32 against it - same result.
I then tried another approach - I used the RemoteDLL injector. I tested it with FSUIPC and was able to succesfully inject FSUIPC4.DLL in the the FSX.exe process. When I tried the same procedure with AbacusPremierCollectionFSX.dll I saw the messages:
"Load LibraryA on remote process failed with error: 87
Here is what MSDN says about error87:
"A dynamic-link library (DLL) uses __declspec(thread) to allocate static thread local storage (TLS). There are no problems associated with running an application that is linked with the corresponding static library. However, when an application uses the LoadLibrary function to load the DLL instead of using the static version, LoadLibrary fails on Win32s with an error code 87: invalid parameter.
LoadLibrary succeeds on a computer that is running Windows 98, Windows NT, or Windows 2000 in this situation. However, the behavior of calling functions in the DLL that reference static TLS variables is undefined. On Microsoft Windows 95, LoadLibrary fails and the GetLastError function returns 1114 - ERROR_DLL_INIT_FAILED (A dynamic link library initialization routine failed). On Windows 2000, the LoadLibrary function succeeds. However, any attempt to access the TLS data causes an access violation (AV).
CAUSE
This is a limitation of LoadLibrary and __declspec. The global variable space for a thread is allocated at run time. The size is based on a calculation of the requirements of the application plus the requirements of all of the libraries that are statically linked. If a DLL uses static TLS and is dynamic-linked in an application, when LoadLibrary or FreeLibrary is called, the system must find all the threads that exist in the process and enlarge or compact their TLS memory according to the size of static TLS in the newly loaded DLL. This process is too much for operating systems to manage, which can cause an exception either when the DLL is dynamically loaded or code references the data.
RESOLUTION
DLLs that use __declspec(thread) should not be loaded with LoadLibrary.
The DLL code should be modified to use such TLS functions as TlsAlloc, and to allocate TLS if the DLL might be loaded with LoadLibrary. Or, the DLL that is using __declspec(thread) should only be implicitly loaded into the application."
Everything I see says there is no problem with the dll - yet I get load errors from two different loaders and I can verify that FSX does not load the dll.
I have reviewed all the UAC and security logs and there is no mention of a problem. I have NO/ZERO/Absolutely NONE security on this system. UAC is turn off and there is no security running as far as I can tell.
Any suggestions on how to get more details about the load error would be appreciated.
The Answer IS... wrong simconnect module referenced

Posted:
Sat Jun 21, 2008 8:56 pm
by SVMirador
I used DEPENDENCY WALKER 2.2.6000 (what a fantastic piece of free ware from Steve Miller [and I loved his music]) to try to register the AbacusPremierCollectionFSX.dll and received the following error message along with hundreds of lines of data about what other dlls were loaded:
Loaded "ABACUSPREMIERCOLLECTIONFSX.DLL" at address 0x10000000. Successfully hooked module.
SXS: Unable to resolve storage root for assembly directory x86_microsoft.flightsimulator.simconnect_67c7c14424d61b5b_10.0.60905.0_none_dd92b94d8a196297 in 2 tries
SXS: RtlGetAssemblyStorageRoot() unable to resolve storage map entry. Status = 0xc0150004
Unloaded "ABACUSPREMIERCOLLECTIONFSX.DLL" at address 0x10000000.
LoadLibraryExW("AbacusPremierCollectionFSX.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: The referenced assembly is not installed on your system (14003).
When I put the 60905 build of simconnect in the folder I get the same error message
SO - it appears that need to research the error message more -
Re: ABACUS asreg01.dll missing error but it's there!

Posted:
Sun Jun 22, 2008 5:51 pm
by Felix/FFDS
As to how I knew Abacus had e-mailed you...
there's a line in your post:
I have precisely followed the instructions that ABACUS e-mailed to me
which triggered my incredible deductive abilities.
Good luck on deciphering the problem.
Re: ABACUS asreg01.dll missing error but it's there -

Posted:
Tue Jun 24, 2008 9:20 pm
by SVMirador
Details follow - bottom line is that AbacusPremierCollectionFSX.dll fails on my system because it trys to load from a WINSXS folder that does not exist. It tries to load:
x86_microsoft.flightsimulator.simconnect_67c7c14424d61b5b_10.0.60905.0_none_dd92b94d8a196297
************************* NOT *************************** x86_Microsoft.FlightSimulator.SimConnect_67c7c14424d61b5b_10.0.60905.0_x-ww_429211e9 (which does exist) As specified by the ABACUS programmer who sent me a detailed explanation of what to do to fix the problem.
I then made a copies of the .cat .manifest and the folder for 10.0.60905.0_x-ww_429211e9 and renamed them to what is actually called.
THAT SOLVED THE PROBLEM!!
Several Comments -
1) the _none in the folder name that AbacusPremierCollectionFSX.dll attempts to load means there is NO dll in the folder
2) I found no copy of the _none folder on my C drive
3) I had to copy the 60905 build of simconnect.dll into the newly created _none folder
3) It is hard to understand how AbacusPremierCollectionFSX.dll works on any system
I am pretty sure there is nothing wrong with my installation since SIMCONNECT 61637 and 61355 can both be loaded by FSX and both work A-OK.
It appears (I can't be 100% certain) that FSX SP1A/SDK upgrades altered the build levels and tokens for many of the C++ modules and the Abacus dll was linked for the old way of doing things.
I'd be curious to know if any FSX acceleration or SP2 user is able to use the AbacusPremierCollectionFSX.dll to either register of "Try for Free"
I spent 20 hours on this problem and learned a lot of neat stuff about PE Explorer (great tool but expensive) and Dependency Walker (fantastic tool and free). I have considerable experience as a systems and assembler program (mainframes while Tyranasaurs Rex was still king) so I was able to muddle through. Good Luck without some load library and Linker experience.
Abacus was quite prompt and tried to be helpful but all three recommendations they sent me were ineffectual.
Re: ABACUS asreg01.dll missing error but it's there!

Posted:
Wed Jun 25, 2008 5:13 am
by Felix/FFDS
You are lucky.
AS you can imagine, not all combinations of OS/hardware etc can be tested. It appears that you have a unique setup (translated as one that Abacus nor its testers have).
I hope you've shared your find/fix with Adam.
Since I have only XP, I haven't run into that problem.
Re: ABACUS asreg01.dll missing error but it's there!

Posted:
Mon Jun 29, 2009 10:37 pm
by Bill_in_Brazil
I just installed two planes to test, one TBM850. Installation went well, it loaded but when run both of them, get the red screen as below, and says missing asreg01.dll. I am running Vista 32 bit, SP2 updated, and really no problem with any software on computer.
I have FSX installed on d drive as much other software, and no issues. It installed in the proper areas under MS, games, models, planes, etc.
Below in this chain, I saw no fixes for this. Thank you.
Bill in Brazil