dotNET 程序奔向Window XP,体验绚丽的外表?

原创 2001年09月16日 17:12:00

dotNET 程序奔向Window XP,体验绚丽的外表?

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

小气的神 2001-09-16

 

我的朋友中终于有忍不住开始安装Windows XP了,感觉是被华丽的界面诱惑。好像最近网上流传的一个Windows XP 2600的版本十分稳定而且不用激活(所以安装的人渐渐又多起来了haha)。由于要帮他安装一些外设,我也才可以做这样的实验,开始考虑将自己原来的一些dotNET程序向XP上迁移,特别是一些WinForm的程序,因为我想自己的程序也可以利用XP的华丽UI

 

有关XP的版本有很多说法,有的说已经预装了dotNet Framework Beta2,有的说没有装,我想这主要是dotnet运行库没有Release前所必须考虑的,从Beta1Beta2的变化就很大,这样对于操作系统的稳定性一定是有直接影响的。(这点也可以粉碎了一些人对WinXPdotnet之间的遐想,他们总认为XP的某一部分是用dotnet写的) 事实上,我手上的这个零售版的也没有安装Framework Beta2运行库,当我把程序直接Copy过去时,是不能运行的。至于这个运行库有两种办法可以来解决(当然应该有无数种方法):

1.              在你的Visual Studio.NET Beta2 的组件更新的那张CD中有一个dotNetFramework目录里面有一个Setup.exe(17.3M)的执行文件,去XP下执行,然后再执行你的dotNET程序就可以了。

2.              大型或复杂一点的程序,你可以使用VS.NET 带的Setup and deployment功能来完全的做一个Setup程序来完成这个工作。具体的你可以:

1.   打开你要部署的dotnet程序.

2.   File->New-Project... 在打开的New Project对话框中

3.   左边选中Setup and Deployment Project 右边一栏选中 Setup Wizard 注意下面的路径和选项,选中加入目前你的项目中,而不是关闭。

4.   然后会有一个Wizard 出现从1 To 5 完后新的Project自动加入你的Sln中。(如果不是选择 Setup Wizard而选择 Setup Project那么可以在VS.NET右边的Sln Explorer View中点击 Project 然后在树状View中的Application Folder 右键选 Add Project Output...这样会弹出一个对话框中选Primary OutputLocalized Resource两项表明你需要打包你的运行文件和一些资源文件)

5.   OK后重新编译你所有的Project 你可以在你Setup ProjectDebugRelease输出目录中发现一个MSI文件。去XP中安装就可以了。

 

老实说第二种方法很破,抽取了几乎整个dotNET的运行库文件,所以尺寸奇大,一般都是15M以上。当然除此之外你还可以安装Framework Beta2 SDKVS.NET 等方法来使XP带有DotNET的运行库。

 

之后我开始一些有意思的实验,将自己的WinForm程序带上XP的样子。前几天我在CSDN上看到有人讲述VC环境下如何适应XP的环境。我想DotNET也是可以的,甚至VB的程序也可以。总的感觉还可以,几乎说是很顺利。我要感谢www.godotnet.com。因为我是参照下面这篇文章来完成的。

http://www.gotdotnet.com/team/windowsforms/Themes.aspx

 

上面有具体的步骤和一些说明,我说一些具体的步骤吧:

 

1.   把你的WinForm中所有有FlatStyle属性的控件的值都设置成 System ,没有的就算了。

2.   编译你的程序成EXE文件

3.   如果你XP已有dotNET的运行库,copy你的EXE程序去XP中任一地方。

4.   准备一个和你运行文件相同的Manifest文件和你的EXE文件在一起, 这个文件那里都有, 内容也都几乎一样,主要是它的文件名一定要是你的运行程序名.Manifest”,比如我的程序是Win2KToXP.EXE,那么这个文件一定要起名为:Win2KToXP.EXE.manifest (这个Manifest文件网站上有一个样本,后面我附带了一个我测试过的给大家,直接用网站上的那个好像有问题。)

5.   这篇文章还介绍了一种你可以将这个Manifest直接嵌入到EXE的方法,我也测试过OK的。(你可以在生成EXE来做这一步,修改时引入的类型别写错是:RT_MANIFEST,然后把资源类型从101改成1,保存搞掂。感觉这是一种不错的设计,当你决定自己的程序要在XP下运行了再做这一步,不过前提要保证你在第四步的方式中是成功的,不然修改完EXE后会导致整个程序不能运行)

 

总之这是一种很有趣的体验,如果你有相同的环境你可以试一下。

我在Windows 2000 ADV Server SP2 EN , VS.NET SP2 EN 完成自己的dotNET程序并且编译成EXE。确保XP已有运行库的情况下直接copy EXE文件去XP环境执行就可以了。

 

下面是屏幕的拷图:

 WinXP 下面的dotNET 程序

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

下面是Manifest的文件清单:

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

    version="1.0.0.0"

    processorArchitecture="X86"

    name="Win2KToXP.EXE"

    type="win32"

/>

 

<description>ccBoy</description>

<dependency>

   <dependentAssembly>

      <assemblyIdentity

           type="win32"

           name="Microsoft.Windows.Common-Controls" version="6.0.0.0"

           language="*"

           processorArchitecture="*"

           publicKeyToken="6595b64144ccf1df"

      />

   </dependentAssembly>

</dependency>

</assembly>

 

 

特别:

以上文字涉及其他人的隐私和个人权利,如非被授权或经本人同意,任何网站或期刊请不要刊登、转载、转贴或已其他形式进行传播。以上所有文字或图片只用于内部交流,不作任何新闻发表和商业用途。

10款绚丽的jQuery/HTML5特效应用

今天要为大家分享10款效果绚丽的jQuery/HTML5特效应用,HTML5非常强大,可以很方便的在WEB上制作游戏、制作报表等。下面一起来看看这些HTML5应用。 1、HTML5实现中国象棋游...
  • hwt0101
  • hwt0101
  • 2014年01月23日 09:56
  • 2396

Hive内表和外表的区别

本文以例子的形式介绍一下Hive内表和外表的区别。例子共有4个:不带分区的内表、带分区的内表、不带分区的外表、带分区的外表。 1 不带分区的内表 #创建表 create table ...
  • xiaojun1288
  • xiaojun1288
  • 2013年08月14日 16:48
  • 5250

【微信小程序常识】如何绑定微信小程序体验者

【微信小程序常识】如何绑定微信小程序体验者
  • FutrueJet
  • FutrueJet
  • 2016年11月18日 21:36
  • 8712

关于 dotnetframework不同版本兼容性的屁小的事情

背景:最近公司要将太平洋东岸的一个项目搬到mainland这边,但大陆有用大恒水星系列的工业相机,但原来的项目对工业相机没有作支持,只好临时加上;但水星的SDK是dotnet3.5;而公司的项目是do...
  • wilsonke
  • wilsonke
  • 2016年04月01日 01:18
  • 2310

WindowsXP下运行命令中cmd和command的区别

cmd.exe和command.com CMD.EXE是windows nt带的一个32位的命令行程序,那完全不是DOS. 它是Windows 窗口命令行接口,因此它可以通过窗口右上角的X来关闭,它...
  • u014717036
  • u014717036
  • 2014年10月14日 19:31
  • 1023

Hive - 内表和外表的区别

原文转自:http://blog.csdn.net/zhangzhebjut/article/details/39275181 1. 内部表 create table zz...
  • u012599619
  • u012599619
  • 2016年03月28日 16:54
  • 3149

【微信小程序常识】如何发布微信小程序体验版

【微信小程序常识】如何发布微信小程序体验版
  • FutrueJet
  • FutrueJet
  • 2016年11月18日 23:53
  • 14036

微信小程序实例详解,扫描二维码获取信息

1.最简单的扫二维码获得信息。 首先,在网上找一个二维码生成网站,生成一个二维码,我用的是草料二维码,随便生成了一个二维码做测试。 就这个。 我搭建的界面如下: 如图可见,点击1中的“点我...
  • sinat_41310868
  • sinat_41310868
  • 2018年01月09日 22:25
  • 92

ubuntu14.04-主机及virtualbox->xp系统的安装过程

2016-03-14 http://www.industech.com 环境:我的主机是acer的,虚拟机使用的是ubuntu软件中心下载的virtuabox, 1.从ubuntu的官网下载ubun...
  • u014213012
  • u014213012
  • 2016年03月17日 16:42
  • 813

dotnet core 命令详解

本篇博客来了解一下dotnet这个神奇的命令。我会依次对dotnet,dotnet new,dotnet restore,dotnet build,dotnet test,dotnet run,dot...
  • daguanjia11
  • daguanjia11
  • 2016年09月07日 09:44
  • 5962
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dotNET 程序奔向Window XP,体验绚丽的外表?
举报原因:
原因补充:

(最多只允许输入30个字)