PHP解决c#,wpf程序带环境设置包体积太老问题

我们前几乎上吧碰着了那种困境,借使长环境,安装包的体积太要命,本身软件才几m,环境还高臻70M,完全不创立嘛。

贡献上判断本机最高framework版本的代码

个人主页:WWW.bobdong.cn

这般,我们的次序体积就会大大裁减。

使发疑点欢迎提问,我们共同提高!

 

 PSS:最终,惊叹一下,离开那一个店上创业公司未来,面对的问题更多,解决问题的能力拿到了质的便捷,每一个色依然店铺的心脏,每个人之身上且负着举足轻重的义务,不再是那一个公司之螺丝钉,而是建设的参加者,方向的影响者。

有关怎么非用没有版本的framework开发?

 

 

在代码中曾经讲明了个个版本在注册表中以到的本号码。

Base 4.0

 

于.net开发客户端的时,一定会逢用户并未安装.net环境之题目,特别是现win7,win8,win10大抵系统并用之年月段,很多开发者使用的凡4.5之目的环境,用户不过动win7的网,那样定会如安装环境保证

 

 

下一场将主程序的进口设置成我们的PreLoad,在先后启动之上PreLoad来判断用户的微处理器安装之万丈环境是否吻合大家主程序的求,假若符合,那么间接开行程序,即使非切合,大家当PreLoad中下载目标环境,自动安装。

这是因许多酷炫的法力只有高版本的才暴发,用户可挑剔了。一般客户端的得爱用c++,我水平不敷顶多哪怕设看重framework开发wpf了

4.5

 

4.6

除此以外多同学会问假诺自己就是是亟需知道对象框架为?

  

 

 

  • 4.0.30319.17626 = .NET 4.5 RC
  • 4.0.30319.17929 = .NET 4.5 RTM
  • 4.0.30319.18010 = .NET 4.5 on Windows 8
  • 4.0.30319.18052 = .NET 4.5 on Windows 7 SP1 64-bit
  • 4.0.30319.18063 = .NET 4.5 on Windows 7 SP1 64-bit
    (with MS14-009 security
    update)

 

  • 4.0.30319.42000 = .NET 4.6 on Windows 8.1 64-bit

末段,创业集团招人,前端,PHP,c#,公司地址:苏黎世,有意者欢迎留言私聊。

后来想到了一个赔中之道,

PS:很多总人口好用 Environment.Version   
 来判断系的版本号,可是经过测试,这样的得到的数目只是软件本身目的框架的版,并无是本机的嵩版本号,最高的版本号仍旧要于注册表里面查看。

  • 4.0.30319.1 = .NET 4.0 RTM
  • 4.0.30319.269 = .NET 4.0 on Windows XP SP3, 7, 7 SP1 
  • 4.0.30319.276 = .NET 4.0 on Windows XP SP3 (4.0.3 Runtime update)
  • 4.0.30319.296 = .NET 4.0 on Windows XP SP3, 7 
  • 4.0.30319.544 = .NET 4.0 on Windows XP SP3, 7, 7 SP1 
  • 4.0.30319.1008 = .NET 4.0 on Windows XP SP3, 7, 7 SP1
    (with MS13-052 GDR
    security update)
  • 4.0.30319.1022 = .NET 4.0 on Windows XP SP3, 7, 7 SP1
    (with MS14-009 GDR
    security update)
  • 4.0.30319.1026 = .NET 4.0 on Windows XP SP3, 7, 7 SP1
    (with MS14-057 GDR
    security update)
  • 4.0.30319.2034 = .NET 4.0 on Windows XP SP3, 7, 7 SP1
    (with MS14-009 LDR
    security update)

 

那么我这里还有平等份报表,由Environment.Version
将到之数目好由此这么些来判断版本

  • 4.0.30319.34209 = .NET 4.5.2 on Windows 7 SP1 64-bit
  • 4.0.30319.34209 = .NET 4.5.2 on Windows 8.1 64-bit

 

        public static bool IsOverVersion()
        {
            using (RegistryKey ndpKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\"))
            {
                int releaseKey = Convert.ToInt32(ndpKey.GetValue("Release"));
                return CheckVersion(releaseKey);
            }
        }

private static string CheckFor45DotVersion(int releaseKey)
        {
            if (releaseKey >= 394271)
                return "4.6.1 installed on all other Windows OS versions or later";
            if (releaseKey >= 394254)
                return "4.6.1 installed on Windows 10 or later";
            if (releaseKey >= 393297)
                return "4.6 installed on all other Windows OS versions or later";
            if (releaseKey >= 393295)
                return "4.6 installed with Windows 10 or later";
            if (releaseKey >= 379893)
                return "4.5.2 or later";
            if (releaseKey >= 378758)
                return "4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2 or later";
            if (releaseKey >= 378675)
                return "4.5.1 installed with Windows 8.1 or later";
            if (releaseKey >= 378389)
                return "4.5 or later";

            return "No 4.5 or later version detected";
        }

可就算win7的用户就安装4.5的条件为?那么用户是否要相关在环境保证共下载呢?

 

4.5.2

4.5.1

咱得当品种中补充加一个初的工称为也【PreLoad】,目的的环境选用win7最低的版本,framework
3.5

  • 4.0.30319.18408 = .NET 4.5.1 on Windows 7 SP1 64-bit
  • 4.0.30319.18444 = .NET 4.5.1 on Windows 7 SP1 64-bit
    (with MS14-009 security
    update)
  • 4.0.30319.34014 = .NET 4.5.1 on Windows 8.1 64-bit

 

相关文章