本帖最后由 jiangsheng 于 2010-10-30 21:15:51 编辑

解决方案 »

  1.   

    大家好,公司最近接了一个项目,最后决定用c# 去做。但是需要22M多的 .net框架,有些用户估计都不会安装,所以最后决定用c++ 做一个外壳,这个外壳的作用是 把c#写好的exe程序保存到c++的byte[]数组中。c++就判断本机是否安装了.net框架,如果安装了 就通过byte[]中的信息 在本地址写入exe程序,如果没有安装,会自动从网上下载一个7M的rar格式的 .net框架,当然是绿色版,下载完毕自动解压到指定目录后,然后在本磁盘写入c#程序,最后执行!啰嗦这么多不知道 听的明白不...现在问题是 我怎么知道c#程序的二进制代码,知道后 怎么给c++中的byte[]数组 手动初始化赋值呢?
      

  2.   

    还是安装框架吧,client profile 
      

  3.   

    读文件就可以了。但为什么不做个安装程序,把.net框架加入到安装包中?
      

  4.   

    楼主哥哥,你可以选一个安装包制作工具,vs 里自带那个也能检测 .net framework 是否已在用户机器上安装了
      

  5.   

    既然这样做肯定不想做安装包形式的了 
    程序最好是只有一个exe程序
    而且做成安装包的缺点是
    1 需要安装 这个是废话
    2 安装包 只是多一个提示 提示没有安装 提示你下载安装 有些人很菜 不一定会下载安装这个框架
    3 框架20多M 下载 要四五分钟 而且最烦的是 安装时间过长
    4 如果把框架打包到程序中,这样是省了下载时间 但是无非软件要多了20多M
      

  6.   

    解决方案已经有了 
    把c#的程序放到c++的资源中 
    c++会判断系统是否安装。net框架 如果没有安装 会自动下载安装6m绿色版的。net框架 安装完毕会自动打开c#的程序 下载过程比以前节省了一半以上
    如果安装了 会直接运行资源中的c#程序 用系统默认的。net框架!
    堪称完美 呵呵!!!