Comments (15)
Can you please provide more information so that we can find the problem?
Is it 2008 or 2008 R2?
Does it have latest service packs?
Do you have .NET 4.5 installed on the box (you do not have to but I need to understand the scenarios).?
In our environment we have Windows 2008 R2 without .NET 4.5 and installation works fine for us.
from perfit.
I suggest running the command from where the DLL is rather than from the installutil.exe location. I think your DLL has a reference to webPages 2 DLL and when you run it from your current location it cannot load the DLL since it is not GACed.
As I said, try running it from the location of your DLL. I checked and PefIt itself does not have a reference to WebPages 2 DLL.
from perfit.
I have two Windows Server boxes. InstallUtil works on one and not the
other.
Both are 2008 R2 with SP1.
Both have 4.5 installed.
The box that works has the roles of Web Server and File Server. The box
that doesn't work has only Web Server.
The box that works is not as up-to-date as the one that doesn't.
I access the box that works using my domain account as an administrator.
The box that doesn't work I access with local administrator.
I run InstallUtil in the directory containing the dll that's the target.
That directory also contains the file that InstallUtil says it can't find.
I ran InstallUtil with /showcallstack. Here is the output:
An exception occurred during the Install phase.
System.IO.FileNotFoundException: Could not load file or assembly
'System.Web.WebPages, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system
cannot find the file specified.
at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly
assembly, ObjectHandleOnStack retTypes)
at System.Reflection.RuntimeAssembly.GetExportedTypes()
at PerfIt.PerfItRuntime.b__d(Assembly x)
at System.Linq.Enumerable.d__142.MoveNext() at System.Linq.Enumerable.WhereEnumerableIterator
1.MoveNext()
at PerfIt.PerfItRuntime.FindAllFilters()
at PerfIt.PerfItRuntime.Uninstall()
at PerfIt.PerfItRuntime.Install()
at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
at System.Configuration.Install.AssemblyInstaller.Install(IDictionary
savedState)
at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
at System.Configuration.Install.TransactedInstaller.Install(IDictionary
savedState)
On Mon, Jul 29, 2013 at 5:25 PM, Ali Kheyrollahi
[email protected]:
Can you please provide more information so that we can find the problem?
Is it 2008 or 2008 R2?
Does it have latest service packs?
Do you have .NET 4.5 installed on the box (you do not have to but I need
to understand the scenarios).?In our environment we have Windows 2008 R2 without .NET 4.5 and
installation works fine for us.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-21752836
.
from perfit.
You need to use fuslogvw.exe:
http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.100).aspx
You might have to do this:
http://stackoverflow.com/questions/3240278/assembly-binding-log-viewer-fuslogvw-not-logging-any-bindings
That will tell you where it is looking for file and why it cannot find it.
Please show me the result after you have run.
from perfit.
Working on getting it installed now. I have to get permission to install
the Windows SDK from the server owner. It might be a couple of days. I'll
get back to you when I finally get a result.
Thanks for your help.
On Tue, Jul 30, 2013 at 11:40 AM, Ali Kheyrollahi
[email protected]:
You need to use fuslogvw.exe:
http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.100).aspxYou might have to do this:
That will tell you where it is looking for file and why it cannot find it.
Please show me the result after you have run.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-21800049
.
from perfit.
Just copy the file (fuslogvw.exe), that should be enough. It does not need anything else, that might be quicker [I know what pain it is to get access to boxes]
from perfit.
Here is the fusion log output. It appears that it is only checking the GAC
and the Framework folders. I have the file in the same bin folder as the
file I am running InstallUtil against.:
*** Assembly Binder Log Entry (7/30/2013 @ 1:55:47 PM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = HLMBUILD701\Administrator
LOG: DisplayName = System.Web.WebPages, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = InstallUtil.exe
Calling assembly : (Unknown).
LOG: This bind starts in default load context.
LOG: Using application configuration file:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages.DLL.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages/System.Web.WebPages.DLL.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages.EXE.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages/System.Web.WebPages.EXE.
LOG: All probing URLs attempted and failed.
*** Assembly Binder Log Entry (7/30/2013 @ 1:55:47 PM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = HLMBUILD701\Administrator
LOG: DisplayName = System.Web.WebPages, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = InstallUtil.exe
Calling assembly : (Unknown).
LOG: This bind starts in default load context.
LOG: Using application configuration file:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages.DLL.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages/System.Web.WebPages.DLL.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages.EXE.
LOG: Attempting download of new URL
file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/System.Web.WebPages/System.Web.WebPages.EXE.
LOG: All probing URLs attempted and failed.
*** Assembly Binder Log Entry (7/30/2013 @ 1:55:48 PM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = HLMBUILD701\Administrator
LOG: DisplayName = System.Web.WebPages, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = InstallUtil.exe
Calling assembly : System.Web.Mvc, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35.
LOG: This bind starts in default load context.
LOG: Using application configuration file:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: The same bind was seen before, and was failed with hr = 0x80070002.
ERR: Unrecoverable error occurred during pre-download check (hr = 0x80070002).
On Tue, Jul 30, 2013 at 12:04 PM, Ali Kheyrollahi
[email protected]:
Just copy the file, that should be enough. It does not need anything else,
that might be quicker [I know what pain it is to get access to boxes]—
Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-21801915
.
from perfit.
OK, can you please set the fuslogvw.exe to log all events and try it on the machine that works and then compare?
from perfit.
What is the command line you are running?
I ran this and found this my log instead of
Calling assembly : (Unknown).
has
Calling assembly : xxx
And I think this is the problem since the assembly is not known.
from perfit.
The command line used is
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InsttUtil.exe /i
EP.EAE.Admin.HLMAPI.dll. The working directory is the bin folder that
contains all of the application dlls. One thing to note is that the dll
that is not found is a run-time, not compile-time dependency. It's used in
a NuGet package that generates Web API help pages.
Below is the output from a successful install. The questionable assembly
is in the GAC.:
*** Assembly Binder Log Entry (7/31/2013 @ 1:13:34 PM) ***
The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.
Assembly manager loaded from:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = CORP\gblosser
LOG: DisplayName = System.Web.WebPages, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = InstallUtil.exe
Calling assembly : (Unknown).
LOG: This bind starts in default load context.
LOG: Using application configuration file:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Found assembly by looking in the GAC.
LOG: Binding succeeds. Returns assembly from
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.dll.
LOG: Assembly is loaded in default load context.
*** Assembly Binder Log Entry (7/31/2013 @ 1:13:34 PM) ***
The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.
Assembly manager loaded from:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = CORP\gblosser
LOG: DisplayName = System.Web.WebPages, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = InstallUtil.exe
Calling assembly : System.Web.Mvc, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35.
LOG: This bind starts in default load context.
LOG: Using application configuration file:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Binding succeeds. Returns assembly from
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.dll.
LOG: Assembly is loaded in default load context.
*** Assembly Binder Log Entry (7/31/2013 @ 1:13:34 PM) ***
The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.
Assembly manager loaded from:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = CORP\gblosser
LOG: DisplayName = System.Web.WebPages, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = InstallUtil.exe
Calling assembly : System.Web.Mvc, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35.
LOG: This bind starts in default load context.
LOG: Using application configuration file:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Binding succeeds. Returns assembly from
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.dll.
LOG: Assembly is loaded in default load context.
*** Assembly Binder Log Entry (7/31/2013 @ 1:13:34 PM) ***
The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.
Assembly manager loaded from:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = CORP\gblosser
LOG: DisplayName = System.Web.WebPages, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = InstallUtil.exe
Calling assembly : EP.EAE.Admin.Model, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null.
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will
only be probed in default load context, like with Assembly.Load().
LOG: Using application configuration file:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Switch from LoadFrom context to default context.
LOG: Binding succeeds. Returns assembly from
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.dll.
LOG: Assembly is loaded in default load context.
On Wed, Jul 31, 2013 at 12:44 PM, Ali Kheyrollahi
[email protected]:
What is the command line you are running?
I ran this and found this my log instead ofCalling assembly : (Unknown).
has
Calling assembly : xxx
And I think this is the problem since the assembly is not known.
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-21877055
.
from perfit.
OK,
The one the works clearly has the assembly installed in GAC. My suggestion is to install MVC4 on the server that does not work. I think working server has it.
from perfit.
I'll give that a shot. I was hoping that InstallUtil could be configured
to look in certain directories besides the GAC and other system folders.
It has an application config file but I couldn't find any more information
about it than that.
It might by a couple of days before I can install MVC4 on that machine.
I'll let you know what happens.
This is obviously an InstallUtil/machine setup issue and not a PerfIt
issue. Thanks a lot for your help,
Geoff
On Wed, Jul 31, 2013 at 1:46 PM, Ali Kheyrollahi
[email protected]:
OK,
The one the works clearly has the assembly installed in GAC. My suggestion
is to install MVC4 on the server that does not work. I think working server
has it.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-21881379
.
from perfit.
Not a problem at all. I close the issue but happy to help on the thread. Please just add comments on this thread and I will be answering.
from perfit.
It turns out that the machine already had MVC4 installed. I repaired the
installation and InstallUtil ran fine.
Thanks for your support and thanks for PerfIt.
Best Regards,
Geoff
On Wed, Jul 31, 2013 at 2:52 PM, Ali Kheyrollahi
[email protected]:
Not a problem at all. I close the issue but happy to help on the thread.
Please just add comments on this thread and I will be answering.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-21886217
.
from perfit.
Great nice to hear that. Good luck!
from perfit.
Related Issues (20)
- Add Autofac Interception support building on decoupled monitoring bits HOT 1
- InvalidOperationException vetting Castle Windsor Interception unit tests HOT 3
- SimpleInstrumentor randomly publishes instrumented callbacks HOT 7
- Create NumberOfErrorsPerSecond when installing StandardCounters HOT 1
- CorrelationId on the DiagnosticsSource
- XML Documentation not added to packages
- Sampling should use a consistent apperoach
- SampleRate for Attributes need to be hard-coded to the attribute
- Azure config does not like colon (:) as delimiter
- There are no instrumentationInfos found HOT 10
- _tracers is null in PerfitClientDelegatingHandler
- READme.rd not in sync HOT 3
- CorrelationId not being tracked as part of request
- There is no way to use a config provider other than AppSettings
- PerfIt does not use info's instrumentation value
- Passing null instrumentationContext to the EventSource crashes.
- Sample for using ETW events HOT 6
- Duplicate events in ElasticSearch HOT 10
- I want to use perfit in .net core api. Is it possible? I want to use same as use in framework web api. HOT 1
- Is PerfItDelegatingHandler obsolete? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from perfit.