Search the archive:
YaBB - Yet another Bulletin Board
 
   
 
Page Index Toggle Pages: 1
Send Topic Print
ABACUS asreg01.dll missing error but it's there! (Read 9360 times)
Jun 19th, 2008 at 3:21pm

SVMirador   Offline
Colonel
Hello!
Tacoma  WA

Gender: male
Posts: 12
*****
 
I am trying to use the Abacus Premier or Platinum “Try Before You Buy” program.  When I select the aircraft (A-10, P-61) I receive the message about asreg01.dll being required. 

VISTA 32 / FSX/Acceleration

I HAVE (all done as System Administrator with all account control turned off):

Run Abacus PPtC-FS_SP!.exe and then  ADDDLLForPremierCollection.exe which installed AbacusPremierCollectionFSX.dll (5/18/2007) in the main directory used by FSX

Run the FSX install program for each aircraft

Verified that asreg01.dll (7/27/03) and AbacusPremierCollectionFSX.dll are in found in the main FSX directory AND in the Modules subdirectory

Verified that dll.xml references both AbacusPremierCollectionFSX.dll and asreg01.dll and both references point to the correct directory.  I test this by changing the name of the dll in the directory and in xml.dll and see the newly renamed dll load when FSX starts. 

Verified, using Manual Load, that when I start FSX that FSX tries to load  AbacusPremierCollectionFSX.dll (1.0.10.0) and/or (I try it with each dll alone and then together) asreg01.

YET – I keep getting the error message that asreg01.dll is required but not found!

Does anyone know what the thread names are for the dlls in question?  When I examine the list of FSX threads running (with the error message on the screen after trying to select one of the AC) after AbacusPremierCollectionFSX.dll and asreg01.dll are loaded  I find no thread that belongs to Abacus or in any way indicates it is asreg01.

I have precisely followed the instructions that ABACUS e-mailed to me yet the problem persists:

The dlls are in the Main FSX Directory

The dll.xml points at the correct directory

FSX tells me it loads the dlls

I get the red/yellow warning box because the dll is missing

Does anyone have a suggestion about making the Abacus test flight process work under VISTA32/FSX? 

 
IP Logged
 
Reply #1 - Jun 21st, 2008 at 9:03am

Felix/FFDS   Offline
Admin
FINALLY an official Granddad!
Orlando, FL

Gender: male
Posts: 1000000627
*****
 
SVMirador wrote on Jun 19th, 2008 at 3:21pm:
Does anyone have a suggestion about making the Abacus test flight process work under VISTA32/FSX?  



I note that you received a reply from Abacus.

OTher 3rd party programs are having problems with VISTA's Administration control.

 

Felix/FFDS...
IP Logged
 
Reply #2 - Jun 21st, 2008 at 7:06pm

SVMirador   Offline
Colonel
Hello!
Tacoma  WA

Gender: male
Posts: 12
*****
 
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.
 
IP Logged
 
Reply #3 - Jun 21st, 2008 at 9:56pm

SVMirador   Offline
Colonel
Hello!
Tacoma  WA

Gender: male
Posts: 12
*****
 
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_dd92
b94d8a196297 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 -
 
IP Logged
 
Reply #4 - Jun 22nd, 2008 at 6:51pm

Felix/FFDS   Offline
Admin
FINALLY an official Granddad!
Orlando, FL

Gender: male
Posts: 1000000627
*****
 
As to how I knew Abacus had e-mailed you...

there's a line in your post: 

Quote:
I have precisely followed the instructions that ABACUS e-mailed to me



which triggered my incredible deductive abilities. 

Good luck on deciphering the problem.

 

Felix/FFDS...
IP Logged
 
Reply #5 - Jun 24th, 2008 at 10:20pm

SVMirador   Offline
Colonel
Hello!
Tacoma  WA

Gender: male
Posts: 12
*****
 
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_dd92
b94d8a196297
************************* NOT ***************************  x86_Microsoft.FlightSimulator.SimConnect_67c7c14424d61b5b_10.0.60905.0_x-ww_4292
11e9 (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. 


 
IP Logged
 
Reply #6 - Jun 25th, 2008 at 6:13am

Felix/FFDS   Offline
Admin
FINALLY an official Granddad!
Orlando, FL

Gender: male
Posts: 1000000627
*****
 
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.
 

Felix/FFDS...
IP Logged
 
Reply #7 - Jun 29th, 2009 at 11:37pm

Bill_in_Brazil   Offline
2nd Lieutenant
Fly FS
Sao Paulo, Brazil

Gender: male
Posts: 1
**
 
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
 
IP Logged
 
Page Index Toggle Pages: 1
Send Topic Print