Clickonce исключение с Excel Interop DLL

Мы создаем программный проект (VS 2010, .NET 3.5 SP1), который использует взаимодействие с Excel через Office 2007 PIA. Мы развертываем его в Интернете для установки одним щелчком мыши. В большинстве случаев это работает нормально. Но недавно у одного клиента возникли проблемы с его установкой (см. Файл журнала ниже).

Насколько я мог узнать из чтения в Интернете, это могло быть каким-то образом связано с регистрацией 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.

person fdub    schedule 24.09.2012    source источник
comment
PIA поврежден на этой машине. Такого рода повреждение файла никогда не бывает изолированным, выбросьте машину, чтобы она перестала отнимать ваше дорогое время. И наш.   -  person Hans Passant    schedule 24.09.2012
comment
Большое спасибо за ваш ответ. Я рекомендую это нашему покупателю. :-)   -  person fdub    schedule 24.09.2012
comment
Другой клиент сообщил сегодня о той же проблеме. Может быть неудачное совпадение, но более вероятно, что это не так. Есть другие идеи?   -  person fdub    schedule 01.10.2012
comment
Эта проблема решена?   -  person FLash    schedule 12.06.2018


Ответы (2)


У нас был почти идентичный файл журнала с нашим собственным приложением ClickOnce, хотя он не удался при загрузке первого файла (похоже, ClickOnce загружает файлы в алфавитном порядке). Мы попросили пользователя внести в белый список домен, из которого развертывается наше приложение, и проблема была решена.

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

В моем магазине ClickOnce обычно используется в ИТ-средах, которые полностью заблокированы.

person nock    schedule 09.05.2013
comment
У меня была такая же проблема. В итоге я установил локально, а затем просто развернул папку, созданную в / Users / USER_NAME / AppData, на удаленный сервер. Это сработало. Реальных проблем со сборками или сборкой в ​​приложении не было. - person Timothy Gonzalez; 18.07.2017

Воскрешение мертвого здесь, но поскольку я только что столкнулся с тем же самым с одним из моих развертываний, я также добавлю свои пять центов.

Результаты моего журнала развертывания были в основном такими же, как и ваши:

    * Activation of //***//.application resulted in exception. Following failure messages were detected:
    + Exception occurred loading manifest from file DevExpress.Utils.v17.1.UI.dll: the manifest may not be valid or the file could not be opened. 
    + File DevExpress.Utils.v17.1.UI.dll is not a valid Portable Executable (PE) file.
    + PE file does not have enough data.

Я удалил ссылку на рассматриваемую dll, повторно добавил ее и снова опубликовал. Это решило проблему для меня.

person FvL    schedule 18.09.2018