在用MicrosoftUpdaterApplicationBlock.msi安装后,使用示例时出现以下问题,不知道如何解决
希望高手指点.[DownloaderManager.CheckDownloadCompleteOrError] : 
    Error downloading files from the server for the application 'SelfUpdatingTest', 
the following message was in the exception: 'SelfUpdatingTest'.
    ERROR: HRESULT 中的异常:0x8007013D。
STACK:   at Microsoft.ApplicationBlocks.ApplicationUpdater.Downloaders.IBackgroundCopyError.GetErrorDescription(UInt32 LanguageId, String& pErrorDescription)
   at Microsoft.ApplicationBlocks.ApplicationUpdater.Downloaders.BITSDownloader.HandleDownloadErrorCancelJob(IBackgroundCopyJob copyJob, String& errMessage) in c:\program files\microsoft application blocks for .net\updater\code\cs\microsoft.applicationblocks.updater\microsoft.applicationblocks.applicationupdater\bitsdownloader.cs:line 485
   at Microsoft.ApplicationBlocks.ApplicationUpdater.Downloaders.BITSDownloader.Microsoft.ApplicationBlocks.ApplicationUpdater.Interfaces.IDownloader.GetJobStatus(Guid jobId) in c:\program files\microsoft application blocks for .net\updater\code\cs\microsoft.applicationblocks.updater\microsoft.applicationblocks.applicationupdater\bitsdownloader.cs:line 345
   at Microsoft.ApplicationBlocks.ApplicationUpdater.DownloaderManager.CheckDownloadCompleteOrError() in c:\program files\microsoft application blocks for .net\updater\code\cs\microsoft.applicationblocks.updater\microsoft.applicationblocks.applicationupdater\downloadermanager.cs:line 754

解决方案 »

  1.   

    因为下载完需要进行验证,配置文件里不是有RSAKEYVALUE一项么,那个是公钥,在用微软的工具生成manifest.xml时要用到私钥。公钥跟私钥是用工具自动生成的,如果不匹配就会出错。
    你可以在配置文件中设成不校验接口。<application name="Demo" useValidation="false">useValidation设成false即可。
      

  2.   

    [ApplicationUpdateManager.StartUpdater] : 
        The Updater has started; the target application's name is 'SelfUpdatingTest'.  Time started:  2004_12_03_23:16:04.
        
        [DownloaderManager.RunDownloader] : 
            Checking on updates for application 'SelfUpdatingTest'.

    线程 '<无名称>' (0xd94) 已退出,返回值为 0 (0x0)。[DownloaderManager.IsServerManifestDownloaded] : 
          DOWNLOAD STARTED:   Downloading manifest for the application 'SelfUpdatingTest'.  Time started: 2004_12_03_23:16:04
    [DownloaderManager.IsServerManifestDownloaded] : 
          SOURCE FILE:  'http://localhost/selfupdating/ServerManifest.xml'  
    [DownloaderManager.IsServerManifestDownloaded] : 
          DEST FILE:  'C:\Program Files\Microsoft Application Blocks for .NET\Updater\Code\DemoFiles\SelfUpdaterClient\ServerManifest.xml'  

    “SelfUpdatingTest.exe”: 已加载“gqw4jehy”,未加载符号。[ServerApplicationInfo.Deserialize] : 
        Reading Server Manifest file from 'C:\Program Files\Microsoft Application Blocks for .NET\Updater\Code\DemoFiles\SelfUpdaterClient\ServerManifest.xml' to deserialize into a ServerApplicationInfo object.
    ********************************************************************
    还是有问题的,好象不是这个问题,如果公钥跟私钥问题,检查manifest.xml就出错了,
    但文件下载到本地临时文件夹了,然后就出错了,但有的电脑是可以的,不知道和sp2有没有关系.
      

  3.   

    我调试这个Demo发现的问题:
    1.更新URL地址都指向localhost,所以在别的机器上是不能Update成功,要根据外部访问的方式修改
    2.程序的Config文件中,所有地址都是本机绝对物理地址。如果放在别的机器上要根据实际运行地址进行修改。
    通过修改以上两点,我成功运行了SelfUpdaterClient,但是其他几个Demo我还没有运行成功。