Installer fails with Enterprise Library references

Topics: Enterprise Library Core, General discussion, Logging Application Block
Sep 15, 2008 at 6:36 PM
Edited Sep 15, 2008 at 6:38 PM
Hi All,$0I currently have an installer for my application that simply installs the app locally. I've recently added the Logging Application block to my application and got that to work fine. But now I'm seeing this problem with the installer when I try to run it.$0$0The description for Event ID ( 11001 ) in Source ( MsiInstaller ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Product: ASASetup -- Error 1001. An error occurred creating the configuration section handler for dataConfiguration: Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. (D:\Program Files\ASASetup\ASA.exe.config line 5) --> Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified., (NULL), (NULL), (NULL).$0$0I have the dll's from the Enterprise Library referenced in my application (in the installer project and the main project) but the Enterprise library itself is not installed on the server. However, I did try to run the installer on another machine with the Enterprise Library installed and still had the exact same problem.$0$0Can anyone know why I am getting this issue?? It's very urgent to resolve so please any help would be very very appreciated.$0$0Thanks$0
Sep 15, 2008 at 7:58 PM
Does your MSI install EntLib's assemblies to D:\Program Files\ASASetup? If it does, enable fusion logging (http://msdn.microsoft.com/en-us/library/e74a18c4(VS.80).aspx) to gather more information. If it doesn't, then it should.

Fernando
Sep 15, 2008 at 8:09 PM
$0$0$0$0Thanks for the quick reply. I enabled the fusion logging and this is what i got:$0$0$0$0$0*** Assembly Binder Log Entry (15/09/2008 @ 4:03:55 PM) ***The operation failed.Bind result: hr = 0x80070002. The system cannot find the file specified.Assembly manager loaded from: D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dllRunning under executable D:\WINDOWS\system32\MsiExec.exe--- A detailed error log follows.=== Pre-bind state information ===LOG: User = SOA2008\administratorLOG: DisplayName = Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a(Fully-specified)LOG: Appbase = file:///D:/WINDOWS/system32/LOG: Initial PrivatePath = NULLLOG: Dynamic Base = NULLLOG: Cache Base = NULLLOG: AppName = NULLCalling assembly : (Unknown).===LOG: This bind starts in default load context.LOG: No application configuration file found.LOG: Using host configuration file: D:\DOCUME~1\ADMINI~1.SOA\LOCALS~1\Temp\CFG1AF.tmpLOG: Using machine configuration file from D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.LOG: Post-policy reference: Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aLOG: GAC Lookup was unsuccessful.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Data.DLL.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Data/Microsoft.Practices.EnterpriseLibrary.Data.DLL.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Data.EXE.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Data/Microsoft.Practices.EnterpriseLibrary.Data.EXE.LOG: All probing URLs attempted and failed.$0$0$0$0$0$0I dont understand why it is trying to download the dll from the system folder?! I did have Enterprise Library installed previously on this machine but i uninstalled it since. I also checked the directory path for the referenced dll's in my project and they are all pointing to a local version of just the dll's. (Those dll's I copied out of the Microsoft Enterprise Library bin folder before uninstalling it).$0$0$0$0$0Am I doing something wrog?$0
Sep 15, 2008 at 8:22 PM

What kind of app is this? Why is it using D:/WINDOWS/system32 as the app base?

Fernando

Sep 16, 2008 at 2:41 PM
Well the application is sort of a proxy gateway, but the problem seems to be that it is trying to get the dll's from D:/WINDOWS/system32. I honestly didn't write the installer but I'm trying to debug it. Do you kow if there is any place to specify where to download the dll's from? The installer's developer pointed to another directory and said that it should be getting them from there. $0Another question, do you know if the fact that the Enterprise Library was previously installed on this machine could be the reason why it is going to the D:/WINDOWS/system32 ????$0$0Thanks for helping out. I'm really quite new to .NET and not that familiar with alot of its twerks! :)$0
Sep 16, 2008 at 6:55 PM
Got more information: the application is obviously a windows service. I re-ran the installer and now I'm getting this from the fusion log:$0(I removed the reference to the Data.dll as it was added by default from the Enterprise Library console and was not being used)$0$0*** Assembly Binder Log Entry (16/09/2008 @ 2:51:11 PM) ***The operation failed.Bind result: hr = 0x80070002. The system cannot find the file specified.Assembly manager loaded from: D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dllRunning under executable D:\WINDOWS\system32\MsiExec.exe--- A detailed error log follows.=== Pre-bind state information ===LOG: User = SOA2008\administratorLOG: DisplayName = Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a(Fully-specified)LOG: Appbase = file:///D:/WINDOWS/system32/LOG: Initial PrivatePath = NULLLOG: Dynamic Base = NULLLOG: Cache Base = NULLLOG: AppName = NULLCalling assembly : (Unknown).===LOG: This bind starts in default load context.LOG: No application configuration file found.LOG: Using host configuration file: D:\DOCUME~1\ADMINI~1.SOA\LOCALS~1\Temp\CFG2C2.tmpLOG: Using machine configuration file from D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.LOG: Post-policy reference: Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aLOG: GAC Lookup was unsuccessful.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Logging.DLL.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Logging/Microsoft.Practices.EnterpriseLibrary.Logging.DLL.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Logging.EXE.LOG: Attempting download of new URL file:///D:/WINDOWS/system32/Microsoft.Practices.EnterpriseLibrary.Logging/Microsoft.Practices.EnterpriseLibrary.Logging.EXE.LOG: All probing URLs attempted and failed.$0$0$0
Sep 17, 2008 at 4:17 PM

Why is the installer attempting to load the EntLib's assemblies? What kind of custom actions does it execute?

Fernando