2012-09-24 62 views
2

我們正在創建一個通過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. 
+0

該機器上的PIA已損壞。這種文件損壞永遠不會被隔離,將機器扔掉,以免它耗盡昂貴的時間。和我們的。 –

+0

非常感謝您的回覆。我會推薦給我們的客戶。 :-) – fdub

+0

今天另一位客戶報告了同樣的問題。可能是一個不幸的巧合,但它更可能不是。任何其他想法? – fdub

回答

1

我們有我們自己的ClickOnce應用程序幾乎相同的日誌文件,但它未能在下載的第一個文件(的ClickOnce似乎下載按字母順序排列的文件)。我們讓用戶將我們的應用程序部署的域名列入白名單,並解決了問題。

https://answers.atlassian.com/questions/154127/sourcetree-for-windows-install

在我的商店中,ClickOnce通常用於超級鎖定的IT環境(只有我們的軟件可用的Factory Floof機器,用戶甚至無法將文件保存到其桌面),因此將網站列入白名單可以解決一系列的問題。

+0

我有這個相同的問題。我最終在本地安裝,然後將在/ Users/USER_NAME/AppData中創建的文件夾部署到遠程服務器。這工作得很好。程序集中沒有實際的問題或構建應用程序。 –