using FUSLOGVW.EXE on a machine with no Visual Studio installed
Asked Answered
B

7

88

I'm currently having some assembly binding problems on our development server. I want to investigate the problem a bit further with Fusion Log Viewer. Since there is no Visual Studio installed on the machine, I copied FUSLOGVW.EXE to a local folder and started it there.

Is this supposed to work or does it need something else? I don't get the impression the application is logging any failures (and yes I have the settings right).

Biquadratic answered 18/6, 2009 at 11:58 Comment(0)
L
39

Fuslogvw doesn't do the logging. The fusion loader does that. Fuslogvw just displays the log output. Are you getting any logs at all in the output directory you have configured?

Oh, and it should work on a machine that does not have Visual Studio installed.

Lancey answered 18/6, 2009 at 12:4 Comment(6)
No I don't get any output when I choose to log to disk.Biquadratic
Set an explicit custom log path and choose "log all binds to disk" in the settings dialog. The logs should end up there. If they are not appearing, check the permissions on the directory you have specified as the log path (and that it actually exists).Lancey
copying FUSLOGVW.EXE to a machine with .NET 4.0 installed without Visual Studio does not work. You also need to copy the flogvwrc.dll in the 1033 folder under "Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\"Savick
@BrianChavez Seems like this applies only to the .NET 4.0 version of the tool. The .NET 3.5 version of fuslogvw.exe runs without this .dll.Quita
1. Create a new folder anywhere on a machine with .NET 4.0 installed 2. copy FUSLOGVW.EXE and flogvwrc.dll to that folder. 3. Launch Fuslogvw.exe. 4. Go to settings and enable all binds to disk 5. Close and Reopen 6. Set an explicit custom path. 7. Restart IIS if checking for a asp.net applicationMaieutic
See below from @ashes999, you just need the exe and its dll and they can go anywhere. SImple.Fingerprint
V
52

As mentioned in an answer above and in comments, you need to do two things to get the fusion logger to run on a machine without Visual Studio:

  1. Copy fuslogvw.exe to that machine. You can find it wherever you installed .NET (eg. C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\FUSLOGVW.exe)
  2. Copy flogvwrc.dll to the same location as fuslogvw.exe on that machine. You can find it in the 1033 subdirectory where fuslogvw.exe was (eg. C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\1033\flogvwrc.dll)

Once you have fuslogvw.exe and flogvwrc.dll together in one directory, you can run the log viewer. You don't need registry changes or any other changes.

Vizzone answered 3/12, 2015 at 20:56 Comment(2)
Question: Wouldn't there be any copyright infringements if I copy these to a user machine?Pantie
@Krumia I'm not sure what you mean by copyright infringement. These files are freely available to anyone who downloads and installs .NET.Vizzone
L
39

Fuslogvw doesn't do the logging. The fusion loader does that. Fuslogvw just displays the log output. Are you getting any logs at all in the output directory you have configured?

Oh, and it should work on a machine that does not have Visual Studio installed.

Lancey answered 18/6, 2009 at 12:4 Comment(6)
No I don't get any output when I choose to log to disk.Biquadratic
Set an explicit custom log path and choose "log all binds to disk" in the settings dialog. The logs should end up there. If they are not appearing, check the permissions on the directory you have specified as the log path (and that it actually exists).Lancey
copying FUSLOGVW.EXE to a machine with .NET 4.0 installed without Visual Studio does not work. You also need to copy the flogvwrc.dll in the 1033 folder under "Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\"Savick
@BrianChavez Seems like this applies only to the .NET 4.0 version of the tool. The .NET 3.5 version of fuslogvw.exe runs without this .dll.Quita
1. Create a new folder anywhere on a machine with .NET 4.0 installed 2. copy FUSLOGVW.EXE and flogvwrc.dll to that folder. 3. Launch Fuslogvw.exe. 4. Go to settings and enable all binds to disk 5. Close and Reopen 6. Set an explicit custom path. 7. Restart IIS if checking for a asp.net applicationMaieutic
See below from @ashes999, you just need the exe and its dll and they can go anywhere. SImple.Fingerprint
M
34

Doing the above did not work for me..

I recommend doing the following instead:

In: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

Add:

  • ForceLog set value to 1 (DWORD )
  • LogFailures set value to 1 (DWORD)
  • LogResourceBinds set value to 1 (DWORD)
  • LogPath (String) set value to folder for logs ie) C:\FusionLog\

Very straightforward.. and that worked for me! I use Windows 2012 R2.

Found this in: http://pauliom.com/2012/01/30/how-to-log-net-binding-errors-when-you-dont-have-fuslogvw-exe/

Thanks

Mansur answered 11/3, 2015 at 20:58 Comment(5)
i needed a machine reboot, but this worked. Win Server 2012 r2Percale
Confirmed working on server 2008 as well (after a reboot) i leave ForceLog = 0 though, otherwise it also logs sucessful binds, making it harder to find the actually failed onesPituitary
Works without reboot in Win10.Chadwickchae
Worked for me on Windows Server 2016. I rebooted whether I needed it or not.Cholesterol
In addition to copying the EXE and DLL to a new folder I also had to do what @Mansur described. See also: techcommunity.microsoft.com/t5/iis-support-blog/…Senecal
C
8

I wrote an assembly binding log viewer named Fusion++ and put it on GitHub. It writes the registry keys you need to have to activate the logging on your machine and parses the logs afterwards so you don't have to go file hunting.

You can get the latest release from here or via chocolatey (choco install fusionplusplus).

I hope you and some of the visitors in here can save some worthy lifetime minutes with it.

Fusion++

Cambrai answered 29/4, 2020 at 14:43 Comment(0)
G
5

You also need to create a LogFailures key in HKLM\SOFTWARE\Microsoft\Fusion with a DWORD value of 1 to turn on the log. You should set this value back to 0 when not testing otherwise it will keep populating the log. Create a folder eg. C:\fuslog and refer to it in the Custom log path in Settings in the Assembly Binding Log Viewer.

Getty answered 30/7, 2009 at 20:49 Comment(3)
The key is not "ForceLog", it is "LogFailures".Armageddon
And you can add another one called "LogPath" (REG_SZ) with custom path (e.g. c:\fuslog)Armageddon
@JorgeFioranelli actually, it's bothDorweiler
R
1

You might be using the wrong version of fuslogvw. check c:\program files\microsoft SDKs or c:\program files\Microsoft.net\SDK for a different version of the utility.

Retinoscope answered 18/6, 2009 at 12:5 Comment(1)
I'm using the one from Visual Studio 2005 to check problems in 3.5 assemblies. I think this is correct? What else do you mean with versions?Biquadratic
P
0

it is essential that you turn of HKLM\SOFTWARE\Microsoft\Fusion to 0 because it makes your system visual studio and other stuff so slow, just because logging needs time as hundred of file handels open. I have seen entries and log files for programs I was never asking for a log!

Here I give you an example of what happens over time; I was not aware that fusion / fuslogvw logs all kind of events. That should be made cleare when the tools starts, that it continues to log and make your system slow, mainly if VS starts up with very large projects. I am thanksfull for this Information about how to turn it off. I will use it again when I need it because it is otherwhise an excellent tool. But in this regard this is just stupid. Josef

E:\Users\C770817\fuslogvw>tree
Folder PATH listing for volume LaCie
Volume serial number is B098-2591
E:.
├───Default
│   ├───4fe3a146
│   ├───6bf3b89
│   ├───758f6436
│   ├───92c7e946
│   ├───addinutil.exe
│   ├───aspnet_regiis.exe
│   ├───b210afcc
│   ├───CreateSchedulerFolder.exe
│   ├───dbb8b39f
│   ├───devenv.exe
│   ├───Duplicati.CommandLine.exe
│   ├───DuplicatiBgMgr.exe
│   ├───e04f35ff
│   ├───EA.exe
│   ├───edd6a3ed
│   ├───ElementsHelper.exe
│   ├───Eval32.exe
│   ├───EXCEL.EXE
│   ├───FxCopCmd.exe
│   ├───FX_{b05566ac-fe9c-4368-be02-7a4cbb7cbe11}
│   ├───FX_{b05566ad-fe9c-4363-be05-7a4cbb7cb510}
│   ├───FX_{b05566ae-fe9c-4363-be05-7a4cbb7cb510}
│   ├───FX_{c7b8fb06-bfe1-4c2e-9217-7a69a95bbac4}
│   ├───FX_{c7b8fb07-bfe1-4c2e-9217-7a69a95bbac4}
│   ├───FX_{d1764f60-2007-4ad4-a1e8-e7714ed4eb5d}
│   ├───GfxUIEx.exe
│   ├───InetMgr.exe
│   ├───InstallUtil.exe
│   ├───IntelliTrace.exe
│   ├───ISSDeployer.exe
│   ├───ISSLauncherTray.exe
│   ├───ISSShortcutManager.exe
│   ├───JabraCiscoJabberDriver.exe
│   ├───JabraDeviceService.exe
│   ├───LocalAccountMgmt.exe
│   ├───MFPPrinterTool.exe
│   ├───Microsoft.VisualStudio.Web.Host.exe
│   ├───mmc.exe
│   ├───MSBuild.exe
│   ├───mscorsvw.exe
│   ├───msdeploy.exe
│   ├───MsDepSvc.exe
│   ├───msvsmon.exe
│   ├───OxygeneRegClean2.exe
│   ├───OxygeneSchemaCatalog.exe
│   ├───pcee4.exe
│   ├───powershell.exe
│   ├───powershellcustomhost.exe
│   ├───RegisterEvent.exe
│   ├───RemObjects.Everwood.LicenseManager.exe
│   ├───sdiagnhost.exe
│   ├───SmsClrHost.exe
│   ├───SMSvcHost.exe
│   ├───Spezpla.exe
│   ├───Spezpla.vshost.exe
│   ├───sqlservr.exe
│   ├───SvcConfigEditor.exe
│   ├───Toolbox2Test.exe
│   ├───TrayCtrlNotify.exe
│   ├───UITServ.exe
│   ├───UserGUI.exe
│   ├───UserInstallTool.exe
│   ├───VideoHost.exe
│   ├───VS2012.4.exe
│   ├───VSIXInstaller.exe
│   ├───vssphost4.exe
│   ├───w3wp.exe
│   ├───WCFSpezplaServiceClient.exe
│   ├───WCFSpezplaServiceClient.vshost.exe
│   ├───WcfSvcHost.exe
│   ├───WebBrowserServer.exe
│   ├───WebDev.WebServer40.exe
│   ├───WebPlatformInstaller.exe
│   ├───WINPROJ.EXE
│   └───wsmprovhost.exe
└───NativeImage
    ├───4fe3a146
    ├───6bf3b89
    ├───758f6436
    ├───92c7e946
    ├───addinutil.exe
    ├───aspnet_regiis.exe
    ├───b210afcc
    ├───CreateSchedulerFolder.exe
    ├───dbb8b39f
    ├───devenv.exe
    ├───Duplicati.CommandLine.exe
    ├───DuplicatiBgMgr.exe
    ├───e04f35ff
    ├───EA.exe
    ├───edd6a3ed
    ├───ElementsHelper.exe
    ├───Eval32.exe
    ├───EXCEL.EXE
    ├───FxCopCmd.exe
    ├───FX_{b05566ac-fe9c-4368-be02-7a4cbb7cbe11}
    ├───FX_{b05566ad-fe9c-4363-be05-7a4cbb7cb510}
    ├───FX_{b05566ae-fe9c-4363-be05-7a4cbb7cb510}
    ├───FX_{c7b8fb06-bfe1-4c2e-9217-7a69a95bbac4}
    ├───FX_{c7b8fb07-bfe1-4c2e-9217-7a69a95bbac4}
    ├───FX_{d1764f60-2007-4ad4-a1e8-e7714ed4eb5d}
    ├───GfxUIEx.exe
    ├───InetMgr.exe
    ├───InstallUtil.exe
    ├───IntelliTrace.exe
    ├───ISSDeployer.exe
    ├───ISSLauncherTray.exe
    ├───ISSShortcutManager.exe
    ├───JabraCiscoJabberDriver.exe
    ├───JabraDeviceService.exe
    ├───LocalAccountMgmt.exe
    ├───MFPPrinterTool.exe
    ├───Microsoft.VisualStudio.Web.Host.exe
    ├───mmc.exe
    ├───MSBuild.exe
    ├───mscorsvw.exe
    ├───msdeploy.exe
    ├───MsDepSvc.exe
    ├───msvsmon.exe
    ├───OxygeneRegClean2.exe
    ├───OxygeneSchemaCatalog.exe
    ├───pcee4.exe
    ├───powershell.exe
    ├───powershellcustomhost.exe
    ├───RegisterEvent.exe
    ├───RemObjects.Everwood.LicenseManager.exe
    ├───sdiagnhost.exe
    ├───SmsClrHost.exe
    ├───SMSvcHost.exe
    ├───Spezpla.exe
    ├───Spezpla.vshost.exe
    ├───SpezplaPlanTest.exe
    ├───sqlservr.exe
    ├───SvcConfigEditor.exe
    ├───Toolbox2Test.exe
    ├───TrayCtrlNotify.exe
    ├───UITServ.exe
    ├───UserGUI.exe
    ├───UserInstallTool.exe
    ├───VideoHost.exe
    ├───VS2012.4.exe
    ├───VSIXInstaller.exe
    ├───vssphost4.exe
    ├───w3wp.exe
    ├───WCFSpezplaServiceClient.exe
    ├───WCFSpezplaServiceClient.vshost.exe
    ├───WcfSvcHost.exe
    ├───WebBrowserServer.exe
    ├───WebDev.WebServer40.exe
    ├───WebPlatformInstaller.exe
    ├───WINPROJ.EXE
    └───wsmprovhost.exe

E:\Users\C770817\fuslogvw>
E:\Users\C770817\fuslogvw>tree > x.txt

E:\Users\C770817\fuslogvw>
Palaeontology answered 12/11, 2014 at 7:27 Comment(1)
Just for info - this is achievable through the FUSLOGVW.exe UI by going into "Settings" and selecting "Log disabled" (no regedit-ing required)Scrub

© 2022 - 2024 — McMap. All rights reserved.