DNNCommunity / DNN.Blog

The official blog module for the DNN Platform
Other
38 stars 42 forks source link

Upgrade to 6.5.0 failure under DNN 9.8.0 (DLL in use by another process) #174

Open lanthonyneville opened 3 years ago

lanthonyneville commented 3 years ago

Describe the bug

On attempting to upgrade the Blog module from 6.4.1 to 6.5.0, under DNN 9.8.0, the upgrade failed. The upgrade was attempted 3 times, and the same error was seen on each try. The following error was seen in the installer log:

Info Starting Installation - Assembly
Info Assembly already registered - bin\DotNetNuke.Modules.Blog.dll
Info Creating backup of previous version - bin\DotNetNuke.Modules.Blog.dll

Failure ExceptionSystem.Exception: Error on 'C:\inetpub\wwwroot\DNN\Install\Temp\vmbhhtvg\bin/DotNetNuke.Modules.Blog.dll': See InnerException for details. ---> System.ComponentModel.Win32Exception: The process cannot access the file because it is being used by another process --- End of inner exception stack trace --- at SchwabenCode.QuickIO.Internal.InternalQuickIOCommon.NativeExceptionMapping(String path, Int32 errorCode) at DotNetNuke.Common.Utilities.FileSystemUtils.CopyFile(String sourceFileName, String destFileName) at DotNetNuke.Common.Utilities.Internal.RetryableAction.TryIt() at DotNetNuke.Services.Installer.Util.CopyFile(InstallFile installFile, String basePath, Logger log) at DotNetNuke.Services.Installer.Installers.FileInstaller.InstallFile(InstallFile insFile)

Failure Installation Failed - Assembly

This error seems to be specific to the Blog module, because straight after the 3 failed attempts, I successfully upgraded 4 other extensions.

Software Versions

To Reproduce

The steps I took were:

  1. Starting with a DNN 9.6.1 installation running Blog 6.4.1, I upgraded to the new DNN 9.8.0 successfully
  2. Go to Settings > Extensions > Install Extension
  3. Drag and drop the Blog_6.5.0_Install.zip package onto the target panel
  4. Step through the install wizard
  5. On the PACKAGE INSTALLATION REPORT page, the error is shown

Expected behavior

The upgrade should install correctly.

TopCat6 commented 3 years ago

I, too am getting this error:

Failure ExceptionSystem.Exception: Error on 'C:\DotNetNuke\Website\Install\Temp\d3kxyhjn\bin/DotNetNuke.Modules.Blog.dll': See InnerException for details. ---> System.ComponentModel.Win32Exception: The process cannot access the file because it is being used by another process --- End of inner exception stack trace --- at SchwabenCode.QuickIO.Internal.InternalQuickIOCommon.NativeExceptionMapping(String path, Int32 errorCode) at DotNetNuke.Common.Utilities.FileSystemUtils.CopyFile(String sourceFileName, String destFileName) at DotNetNuke.Services.Installer.Util.<>c__DisplayClass166_0.<CopyFile>b__0() at DotNetNuke.Common.Utilities.Internal.RetryableAction.TryIt() at DotNetNuke.Common.Utilities.Internal.RetryableAction.RetryEverySecondFor30Seconds(Action action, String description) at DotNetNuke.Services.Installer.Util.CopyFile(InstallFile installFile, String basePath, Logger log) at DotNetNuke.Services.Installer.Installers.FileInstaller.InstallFile(InstallFile insFile)

Failure Installation Failed - Assembly

The problem seems to be that w3svc has the dll inuse and it cannot be deleted. If I delete the module, the DotNetNuke.Modules.Blog.dll file is left behind. If I try to delete it through Windows Explorer I get the error:

The action cannot be completed because the file is open in w3wp.exe.

If I stop SQL Server and World Wide Publishing (w3svc), I am able to delete the dll.

This is also happening on other modules, ever since upgrading to DNN 9.8.0