我們正在創建一個通過Office 2007 PIA使用Excel Interop的軟件項目(VS 2010,.NET 3.5 SP1)。我們正在將它部署到互聯網以進行clickonce安裝。在大多數情況下,它工作得很好。但最近有一位客戶在安裝時遇到問題(請參閱下面的日誌文件)。Excel Interop DLL的Clickonce異常
據我所知,在互聯網上的閱讀,它可能在某種程度上與PIA被另一個應用程序註冊有關。
任何人都可以提供一些有用的提示(也許還有一些關於這個話題的閱讀來源)?
非常感謝!
PLATFORM VERSION INFO
Windows : 6.1.7601.65536 (Win32NT)
Common Language Runtime : 4.0.30319.269
System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100)
clr.dll : 4.0.30319.269 (RTMGDR.030319-2600)
dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100)
dfshim.dll : 4.0.31106.0 (Main.031106-0000)
SOURCES
Deployment url : http://***/***.application
Server : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Deployment Provider url : http://***/***.application
Server : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Application url : http://***/***.manifest
Server : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
IDENTITIES
Deployment Identity : ***, Version=1.1.0.893, Culture=neutral, PublicKeyToken=b5867eb738db6c5c, processorArchitecture=msil
Application Identity : ***, Version=1.1.0.893, Culture=neutral, PublicKeyToken=b5867eb738db6c5c, processorArchitecture=msil, type=win32
APPLICATION SUMMARY
* Installable application.
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://***/***.application resulted in exception. Following failure messages were detected:
+ Exception occurred loading manifest from file Microsoft.Office.Interop.Excel.dll: the manifest may not be valid or the file could not be opened.
+ File Microsoft.Office.Interop.Excel.dll is not a valid Portable Executable (PE) file.
+ File {0} is not a valid Portable Executable (PE) file.
COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.
WARNINGS
There were no warnings during this operation.
OPERATION PROGRESS STATUS
* [9/20/2012 2:44:56 PM] : Activation of http://***/***.application has started.
* [9/20/2012 2:44:57 PM] : Processing of deployment manifest has successfully completed.
* [9/20/2012 2:44:57 PM] : Installation of the application has started.
* [9/20/2012 2:44:58 PM] : Processing of application manifest has successfully completed.
* [9/20/2012 2:45:00 PM] : Found compatible runtime version 2.0.50727.
* [9/20/2012 2:45:00 PM] : Detecting dependent assembly Sentinel.v3.5Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=msil using Sentinel.v3.5Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=msil.
* [9/20/2012 2:45:00 PM] : Detecting dependent assembly System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil using System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil.
* [9/20/2012 2:45:00 PM] : Detecting dependent assembly WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil using WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil.
* [9/20/2012 2:45:00 PM] : Detecting dependent assembly System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil using System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil.
* [9/20/2012 2:45:00 PM] : Detecting dependent assembly System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil using System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil.
* [9/20/2012 2:45:00 PM] : Request of trust and detection of platform is complete.
ERROR DETAILS
Following errors were detected during this operation.
* [9/20/2012 2:45:34 PM] System.Deployment.Application.InvalidDeploymentException (ManifestLoad)
- Exception occurred loading manifest from file Microsoft.Office.Interop.Excel.dll: the manifest may not be valid or the file could not be opened.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.Manifest.AssemblyManifest.ManifestLoadExceptionHelper(Exception exception, String filePath)
at System.Deployment.Application.Manifest.AssemblyManifest.LoadFromInternalManifestFile(String filePath)
at System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e)
at System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e)
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
at System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
--- Inner Exception ---
System.IO.IOException
- File Microsoft.Office.Interop.Excel.dll is not a valid Portable Executable (PE) file.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.PEStream.ConstructFromFile(String filePath, Boolean partialConstruct)
at System.Deployment.Application.Manifest.AssemblyManifest.LoadFromInternalManifestFile(String filePath)
--- Inner Exception ---
System.ComponentModel.Win32Exception
- File {0} is not a valid Portable Executable (PE) file.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.PEStream.DosHeader..ctor(FileStream file)
at System.Deployment.Application.PEStream.ConstructPEImage(FileStream file, Boolean partialConstruct)
at System.Deployment.Application.PEStream.ConstructFromFile(String filePath, Boolean partialConstruct)
COMPONENT STORE TRANSACTION DETAILS
No transaction information is available.
該機器上的PIA已損壞。這種文件損壞永遠不會被隔離,將機器扔掉,以免它耗盡昂貴的時間。和我們的。 –
非常感謝您的回覆。我會推薦給我們的客戶。 :-) – fdub
今天另一位客戶報告了同樣的問題。可能是一個不幸的巧合,但它更可能不是。任何其他想法? – fdub