【问题标题】:One Click Applications, and detecting first launch of new version一键式应用程序,并检测新版本的首次启动
【发布时间】:2011-08-16 18:55:09
【问题描述】:

是否有一种简单的方法来检测新的单击一次应用程序版本的首次启动? IE:我已经发布了版本 1,然后我发布了 1.1。在第一次发布 1.1 版时,我想在它启动时执行一次处理。

谢谢,

标记

【问题讨论】:

    标签: c# .net visual-studio-2010 .net-4.0 clickonce


    【解决方案1】:

    检查一下:

     if(System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed && System.Deployment.Application.ApplicationDeployment.IsFirstRun)
     {
        //do something
     }
    

    关于来自 msdn 的 IsFirstRun:

    类型:System.Boolean 如果此版本的应用程序以前从未在客户端计算机上运行过,则为 true;否则为假。

    【讨论】:

    • IsFirstRun 在单击一次更新后是否为真,还是仅在初始安装后为真?我会尝试检查。
    • +1;不知道这一点,但这看起来正是 OP 的要求。
    • 请注意我之前遇到过这个问题。如果用户在不使用内置更新的情况下自己单击更新,则在使用自动版本控制时它可能会或可能不会起作用。这个问题是一个类似的故事:stackoverflow.com/questions/5811780/…
    • 谢谢,这正是我所需要的。
    • 他们改变了 IsFirstRun。现在需要这样调用:System.Deployment.Application.ApplicationDeployment.CurrentDeployment.IsFirstRun
    【解决方案2】:

    最简单的解决方案是将应用程序版本 (ApplicationDeployment.CurrentDeployment.CurrentVersion) 存储在配置值中。如果该数字与您启动时的配置值不同,那么您就知道它已升级(或降级,但这应该很容易确定)。

    【讨论】:

    • 好点,我可以将它存储在用户类型设置中,然后在启动时进行比较,谢谢!
    • 您不需要这样做。我们依赖 IsFirstRun,它从未让我们失望。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 2011-07-14
    • 2012-10-10
    相关资源
    最近更新 更多