各位,我想用C#做个通讯录这样的小共享软件(对具体叫法不是很清楚,应该是基于WinFrom的吧),有两个问题想请教:1.能否将软件本身和所需的东西都做成一个安装程序(用户只安装一次就行了那种),即使在没有安装.netframeword的电脑上也可以运行(如XP系统)?2.像上面这样打包出来安装程序会有多大了(因为是小共享软件,所以希望体积不要太大)?
非常需要各位,特别是有这种制作经验的朋友帮我解答一下,非常感谢。

解决方案 »

  1.   

    不行,没有。net不行
    网上可以搜一下,好像有软件可以将.net的所需文件提取出来,而不用安装.net框架
      

  2.   

    你可以写成silverlight程序,发布在互联网上,只要有浏览器就可以访问了。它可以使用客户端存储来保存通讯录,默认是1M,你可以扩展,例如扩展到200M(但是这个通讯录大概可以装下全中国人)。
      

  3.   

    可以的,在安装部署里面可以附加上你需要的.NET的东西。比如水晶报表支持,.NET 3.5等等
      

  4.   

    .net framework for silverlight很小,只有几兆,只要十几秒钟就自动下载并且安装完毕了。而且其功能也非常强,例如支持linq、各种客户端通讯、简洁方便地进行2D和3D游戏开发、等等。而且它也可以脱离浏览器,安装为桌面程序。等等。
      

  5.   


    其实所谓的“提出来”,比如salamandar吧,虽然只支持.net2.0,其类库也有20多兆大,跟.net framework2.0也差不多大,而且许多功能就极其不稳定很容易崩溃。其它的我没有见过比这个悲剧的salamandar更好的了,我认为其它的更差劲。
      

  6.   

    1、可以
    2、.net framework可以选择网络安装位置,即在安装时检测到未装.net framework,自行在给定的url位置下载安装,这样整个安装包可在几百K以内,但要求联网,而且网速慢时安装时间可能很长。
    也可以把.net framework随安装包一同打包,大小至少20几M(.net framework2.0仅包含32位版本的情况),多则300多M(3.5),4.0的最好,包括了32位和64位版本总共好像是50M。以上说的是完整的离线安装包。而非3.0之后的某些在线安装包(这样的安装包较小,但依然要求联网才能安装,在这里没什么意义)
      

  7.   

    先谢谢各位的回复,根据各位回复的还是有两点疑惑:
    1.像6楼说的用.net自带的工具打包成完整的离线安装包,我能在安装过程中加入一些自定义的功能吗?例如在安装过程中读取和设置注册表,又或者自定义安装界面的文字等?这些VS.net自带的打包工具可以做到吗?
    2.如6楼所说,最完整的离线安装包需要50M左右的支持文件,这个容量实在是有点大了,不知道有没有其它精简的方法?当然是最好是比较稳定的方法,因为共享软件会在各种各样用户的电脑上安装,稳定是比较重要的。再次谢谢大家。
      

  8.   

    1、完全可以。事实上,在我看来,只要能想到的,VS自带的打包工具都能做到。(除了生成单个安装文件外)
    2、似乎没什么好的方法。个人认为这是C# winform的一个大问题。如果非要用.net framework的话,我建议用2.0网络位置安装比较好。因为下载的话,仅仅会自动下载架构匹配的版本,而XP大多是32位的,就是说会下载个20M多