If a source file for a third party patch is marked as read only, patch manager will hang for an extended period (30+ minutes) when trying to publish before finally reporting that it failed to upload.
I was finally able to update the content by locating and deleting the read-only file from the package cache both on the server at C:\Program Files\EminentWare\Server\packages\publisher\<Package ID> and on my local workstation at C:\Users\<Username>\AppData\Local\EminentWare\Packages\<Package ID>
Also, once a read-only file has been imported, it cant apparently be deleted or replaced by patch manager. This is the error I receive when I try to re-import the file:
Source: Csla
Exception occurred at 10/22/12 11:46:04 AM: RpcProxy::UploadFiles() failed. Message: rpcsessionmanagerproxy::instance()->execute() failed with Exception. Message: Cannot perform the requested operation on an item that has the read-only attribute.
Type: Xceed.FileSystem.DiskFile
FullName: C:\Program Files\EminentWare\Server\packages\Publisher\147baba5-43c8-420b-97cc-2acf3ad74024\jre-6u37-windows-x64.exe. Call Stack: at Xceed.FileSystem.AbstractFolder.CopyFilesTo(FileSystemEvents events, Object userData, AbstractFolder destinationFolder, Boolean recursive, Boolean replaceExistingFiles, Object[] filters)
at Xceed.FileSystem.AbstractFolder.CopyFilesTo(AbstractFolder destinationFolder, Boolean recursive, Boolean replaceExistingFiles, Object[] filters)
at EminentWare.Core.IO.ZipFile.Extract(String foldertoextractto, Object[] filter)
at EminentWare.DataGridServer.Executive.DataGridServerCommunicationsInterfaceImplementation.ExtractNestedZipsAndDeleteNestedZip(String fqzipfile, String fqpathextractto)
at EminentWare.DataGridServer.Executive.DataGridServerCommunicationsInterfaceImplementation.PrepareInboundFilesFromConsole(String rpcsessionid, String filename, String taskid)
at EminentWare.DataGridServer.Executive.DataGridServerCommunicationsInterfaceImplementation.DispatchToApplicationServer(OperationDispatchInfo odi, OperationResults operationresults)
at EminentWare.DataGridServer.Executive.DataGridServerCommunicationsInterfaceImplementation.EminentWare.DataGridServer.Channel.IDataGridServerCommunications.DispatchCall(OperationDispatchInfo odi, OperationResults operationresults)
at EminentWare.Core.Server.RPC.rpcsessionmanagerproxy.execute(OperationDispatchInfo odi)