none
vs2008下开发的程序在winxp和win2000下的问题。 RRS feed

  • 问题

  •  

    在vs2008中开发的应用程序,不能在winxp中直接运行,我打包加入了几个dll和manifest文件,就可以,但是在win2000下为什么还不行?还需要加入其他文件吗?

     

    2008年10月29日 2:43

答案

  • 你好!
       .NET程序需要在系统中安装.NET Framework才能运行,如果你使用的是VS2008,那么目标平台默认是.NET Framework3.5,在Windows XP上直接安装3.5,程序就能运行,而win2000系统不支持.NET Framework3.5。
        网上也有人尝试把一些dll和manifest文件放到应用程序的目录下来使应用程序能够在win2000下运行。这种方法还是有待商榷的,而且似乎不那么正规。
        如果你的程序中没有使用.NET Framework3.5中新特性,建议把生成的目标平台在VS2008中改为.NET Framework2.0,然后在win2000上安装.NET Framework2.0。
    2008年10月29日 6:08
    版主

全部回复

  • 你好!
       .NET程序需要在系统中安装.NET Framework才能运行,如果你使用的是VS2008,那么目标平台默认是.NET Framework3.5,在Windows XP上直接安装3.5,程序就能运行,而win2000系统不支持.NET Framework3.5。
        网上也有人尝试把一些dll和manifest文件放到应用程序的目录下来使应用程序能够在win2000下运行。这种方法还是有待商榷的,而且似乎不那么正规。
        如果你的程序中没有使用.NET Framework3.5中新特性,建议把生成的目标平台在VS2008中改为.NET Framework2.0,然后在win2000上安装.NET Framework2.0。
    2008年10月29日 6:08
    版主
  •  

    谢谢您的回答!!

    我也知道这是framework的问题。可是我们是在上面做应用程序开发的,假如我们要求每个客户机都装.NET Framework3.5似乎不大现实.有没有更加直接或者简单的办法,就类似于在xp下的解决方案,或者有更好的,谢谢!

    2008年10月29日 6:48
  • 你好!
       你可以制作安装包的时候把.NET Framework打包到安装包中,这样如果客户的机器上有.NET Framework,那么你的应用程序的安装过程就会跳过安装.NET Framework的过程,如果客户的机器上没有安装.NET Framework,那么你的应用程序的安装过程会提示客户安装.NET Framework的。
    2008年10月29日 10:39
    版主
  •  

    谢谢您的答复!

    你说的 .NET Framework应该是3.5版本的吧,好象有200M左右,我们软件的整个包都不到100M.

    有没有精简的,或者是类似在xp下,只需要几个dll就可以了?

     

     

    顺便问一下: vs2008能否生成只需要.NET Framework2.0支持的软件,如果可以的话,怎么改呢,谢谢!

    2008年10月30日 1:16
  • 你好!
       如果你的应用程序没有使用.NET Framework3.5特有的特性,可以使用VS2008来把生成的目标平台更改为.NET Framework2.0:
       项目-》右键-》属性-》应该可以找到,这个功能是VS2008的一个很好的特性
    2008年10月30日 1:57
    版主
  • 谢谢!

     

    我也在试图改这个选项, 如果我没看错的话,应该是在"Common Properties / Framework and Reference/ Targeted Framewok" 里面修改吧,可是这个选项是灰的,没办法修改。请问如何激活?

     

    另外,我现在用的这个项目是从vc6上迁移过来的,所以应该不会用到.NET Framework 3.5的。

    2008年10月30日 2:12
  • 你好!
       就是在这里修改,这项是灰的说明你的机器上只有一个.NET Framework3.5,再安装一个.NET Framework2.0试试。
    2008年10月30日 2:25
    版主
  • 谢谢!

    我确信我电脑上已经装了2.0, 理由有三:

    1.我装了3.5,里面应该包含2.0

    2.我后来也特地装过2.0的package

    3.在new一个project的时候是可以选择2.0的.(这个新建立的工程生成exe后,也不能在2k下运行.

    可是那个选项还是不能选.

    2008年10月30日 3:06
  • 从vc6上迁移过来的可能并没有用到托管代码~这样是不需要 .NET Framework 的~在2000上不能运行没什么提示吗?

    2008年11月6日 13:54
    版主
  •  

    谢谢回复。

    错误内容是:

    Program Error

    ***.exe has generated errors and will be closed by windows. you will need to restart the program.

    An error log is being created.

    2008年11月7日 1:01
  • 你是说你的VC6程序在XP下不能直接运行?
    2008年11月13日 1:31
    版主
  • 您好,我的平台是VS2008,用clickOnce做的安装程序,目标平台一开始设的是.NET Framework3.5,可是在window2000上总说要让不支持该操作系统,于是把目标平台改为了.NET Framework2.0,那台window2000上也装着.NET Framework2.0,可是还是说不支持该操作系统,请问该如何解决呢?

    2008年11月19日 10:04