none
智能客户端部署模式中获取用于启动应用程序的部署清单的 URL RRS feed

  • 问题

  • 我的程序采用智能客户端模式部署,我想在我的程序中“获取用于启动应用程序的部署清单的 URL。”,但是他返回了null。

    我的方法如下,高手们帮我看看那里错了。
    我在程序中调用ad.ActivationUri.ToString(),出现“System.NullReferenceException:未将对象引用设置到对象的实例。 ” 
    通过调试发现ActivationUri值为null.

    代码如下
    if (ApplicationDeployment.IsNetworkDeployed)
    {
     if (UpdateApplicationChangeState != null)
      UpdateApplicationChangeState("系统更新  检查更新");

     ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
     try
     {
      MessageBox.Show(ad.ActivationUri.ToString());
     }
     catch (Exception ee)
     {
      MessageBox.Show(ee.ToString());
     }
     ad.CheckForUpdateCompleted += new CheckForUpdateCompletedEventHandler

    (ad_CheckForUpdateCompleted);
     ad.CheckForUpdateProgressChanged += new DeploymentProgressChangedEventHandler

    (ad_CheckForUpdateProgressChanged);

     ad.CheckForUpdateAsync();//异步检测更新
    }

    2009年12月28日 4:29

答案

  • 难道C/S结构的程序用智能客户端部署就没办法在程序中获得更新路径了吗?想想不可能得不到的啊。
    • 已标记为答案 超然 2010年7月3日 13:03
    2010年1月8日 7:30

全部回复

  • 不是从网络启动的程序?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年12月28日 18:06
    版主
  • 不是,是C/S结构的富客户端。
    2010年1月4日 1:57
  • ActivationUri是在从网络启动时才有值的

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年1月4日 14:52
    版主
  • 哦,这样,谢谢,那么如果不是网络启动,有什么办法得到这个URL地址吗?我想把一些资源信息通过WebServer下载到本地,而这个WebServer和他建立在一起。

    2010年1月5日 4:44
  • 没有,这个属性就是设计来在网络启动的时候获得启动URL的下。
    从本地的网页启动的话应该获得的是一个本地计算机上的URL。


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年1月5日 14:05
    版主
  • 难道C/S结构的程序用智能客户端部署就没办法在程序中获得更新路径了吗?想想不可能得不到的啊。
    • 已标记为答案 超然 2010年7月3日 13:03
    2010年1月8日 7:30