我正在尝试使用Desktop App Converter将Win32应用程序从其MSI转换为UWP appx软件包,以便可以在Windows应用商店中对其进行更新。 Here's the steps。
当我下载Windows_BaseImage_DAC_17134.wim
文件并尝试安装它时,我最终得到了这个文件(我不确定它是否意味着什么):
这里与文本相同:
VERBOSE: Removing any pre-existing NAT network
Get-NetNat : Invalid class
At C:\Program Files\WindowsApps\Microsoft.DesktopAppConverter_2.1.1.0_x64__8wekyb3d8bbwe\converter_util\ContainerNetwor
kSetup.ps1:158 char:24
+ $existingNat = Get-NetNat
+ ~~~~~~~~~~
+ CategoryInfo : MetadataError: (MSFT_NetNat:root/StandardCimv2/MSFT_NetNat) [Get-NetNat], CimException
+ FullyQualifiedErrorId : HRESULT 0x80041010,Get-NetNat
然后在转换过程中(之前已经工作了很多次),我得到了:
C:\DesktopAppConverter\2ca66a48-91ab-4885-93cf-c9d6c325f3b2\shared
VERBOSE: An error occurred converting your application. Here is the full error record:
VERBOSE:
PowerShell Error Record:
Cannot remove item C:\DesktopAppConverter\2ca66a48-91ab-4885-93cf-c9d6c325f3b2\shared: The process cannot access the
file 'C:\DesktopAppConverter\2ca66a48-91ab-4885-93cf-c9d6c325f3b2\shared' because it is being used by another process.
PowerShell Stack Trace:
at Invoke-IsolatedInstall, C:\Program
Files\WindowsApps\Microsoft.DesktopAppConverter_2.1.1.0_x64__8wekyb3d8bbwe\converter_util\IsolatedEnvironmentOps.ps1:
line 221
at <ScriptBlock><Process>, C:\Program
Files\WindowsApps\Microsoft.DesktopAppConverter_2.1.1.0_x64__8wekyb3d8bbwe\DesktopAppConverter.ps1: line 679
at <ScriptBlock>, <No file>: line 1
Inner Exception[0]:
System.IO.IOException: The process cannot access the file
'C:\DesktopAppConverter\2ca66a48-91ab-4885-93cf-c9d6c325f3b2\shared' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean
throwOnTopLevelDirectoryNotFound, WIN32_FIND_DATA& data)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Microsoft.PowerShell.Commands.FileSystemProvider.RemoveFileSystemItem(FileSystemInfo fileSystemInfo, Boolean
force)
Inner Exception Stack Trace[0]
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean
throwOnTopLevelDirectoryNotFound, WIN32_FIND_DATA& data)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Microsoft.PowerShell.Commands.FileSystemProvider.RemoveFileSystemItem(FileSystemInfo fileSystemInfo, Boolean
force)
VERBOSE: The full error record is saved in the logs at C:\DesktopAppConverter\2ca66a48-91ab-4885-93cf-c9d6c325f3b2\logs
C:\Program Files\WindowsApps\Microsoft.DesktopAppConverter_2.1.1.0_x64__8wekyb3d8bbwe\DesktopAppConverter.ps1 : Cannot
remove item C:\DesktopAppConverter\2ca66a48-91ab-4885-93cf-c9d6c325f3b2\shared: The process cannot access the file
'C:\DesktopAppConverter\2ca66a48-91ab-4885-93cf-c9d6c325f3b2\shared' because it is being used by another process.
At line:1 char:1
+ &'C:\Program Files\WindowsApps\Microsoft.DesktopAppConverter_2.1.1.0_ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,DesktopAppConverter.ps1
有人知道这意味着什么吗?
PS。所有这些错误消息都与我的应用无关。
答案 0 :(得分:3)
我遇到了同样的问题,并通过关闭“病毒和线程保护设置”中的“实时保护”解决了该问题。
答案 1 :(得分:1)
您可以在PowerShell中使用以下命令关闭Windows Defender的实时监视: Set-MpPreference -DisableRealtimeMonitoring $ true
要再次启用实时监视: Set-MpPreference -DisableRealtimeMonitoring $ false
我更喜欢这样做,因为永久禁用防病毒保护并不总是一件好事。 顺便说一句,从this article获得了这个解决方案。