简单的打包弄了一下倒是ok了,不过不知道在没有.net的环境下行不行~~
另外数据库用SQL Server 桌面引擎”(也叫 MSDE 2000),不知道安装的时候怎么也把数据库安装上去阿,数据库还要新建数据源和表。
第一次做桌面客户端,实在比较迷茫,大家来指点一下吧,分不够再加

解决方案 »

  1.   

    C#的程序只能运行在.Net环境下.
    MSDE可以做为系统必备项由安装程序来安装,可以去如下的目录查看并参考已有的项目进行MSDN配置:
    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages
      

  2.   

    在没有安装.Net FrameWork的机器上你的C#程序肯定不能执行,你可以在打包的时候检测是否安装了.Net FrameWork和MSDE如果安装了就不安装了,否则就安装,另外你可以在你的C#程序初次运行的时候创建数据源何表啊!
      

  3.   

    把framework打包进去,数据库在本机的话还要把原始数据导入进去
      

  4.   

    .NET开发的程序必须要有.NET Framework运行时环境的支持
      

  5.   

    好像有点头绪了,现在的问题是msi包不知道怎么打,要配置些什么东西~~
    ”MSDE可以做为系统必备项由安装程序来安装”这个刚才还看见的,现在找不到了
      

  6.   

    网上查了下,我在项目的解决方案里面建了个安装项目,然后在这个项目的属性里面是有选择“做为系统必备项由安装程序来安装“的。
    是不是把MSDE的安装文件目录指定了,就会打包进去了阿。(我还没下,现在用的是sql server2000,但是头告诉我要用这个没听过的东西。。)如果这样ok的话,那就要在数据库创建数据源和表了。这个最好也是在安装文件里指定吧~~
    或者手动创建数据源的话,怎么才能知道数据库名呢,之后连接数据库肯定要用的。
      

  7.   

    http://topic.csdn.net/u/20081009/11/b9b4f06f-0ccf-403a-9e64-ccebd1666357.html?seed=382629682
      

  8.   

    1. .net环境
        打包工具可以包环境打进去,另外如果你的程序不是.net写的,那可以不用.net环境,只把msi文件作为安装文件 即可
    2. 数据库
       可以把数据库文件做为文件打到安装程序里,如果非要用数据源的话,可以写个批处理,在安装过程中给系统注册数据源
    3. 在安装过程中可以设置你想要安装的其他东西,可以在安装过程设置里设置一下,必备条件可以在安装程序的系统必备里设置进去,他自己给给你安装好了我说的够明白吗?
      

  9.   

    谢谢~大概思路了解了,具体怎么弄还要再学习下还有个问题希望客户端安装的时候把通过一个.sql文件把新建表的一些语句导到建好的到数据库里面去。
      

  10.   

    1. .net环境 
        打包工具可以包环境打进去,另外如果你的程序不是.net写的,那可以不用.net环境,只把msi文件作为安装文件 即可 
    2. 数据库 
      可以把数据库文件做为文件打到安装程序里,如果非要用数据源的话,可以写个批处理,在安装过程中给系统注册数据源 
    3. 在安装过程中可以设置你想要安装的其他东西,可以在安装过程设置里设置一下,必备条件可以在安装程序的系统必备里设置进去,他自己给给你安装好了 
      

  11.   

    打包时应该把Framework打包进去,相应的数据也应该打包进去,不然就会出现那些问题。
      

  12.   

     但是我这个项目的要求是新生成一个database,然后表什么也是重新做,而不是使用数据库文件。
    如果是用个.mdb之类的数据库文件的确是把这个文件打包进去就可以了

    写个批处理,在安装过程中给系统注册数据源 
    这个得怎么写啊
      

  13.   

    .NET平台下WEB应用程序的部署(安装数据库和自动配置)
     李洪根

    网上看到一个这样的,似乎是可行的,可是后面的代码不是c#德,看不大懂啊
      

  14.   

    .NET Framework放进去,安装的时候自己就判断了,没有runtime就会自动安装!
      

  15.   

    1、.NET开发的程序必须要有.NET Framework运行时环境的支持
    2、如果安装了数据库,就可以做成自动建库安装程序,数据库系统是要单独装的,
      

  16.   

    数据库是准备单独装了,现在就想在安装的时候做成自动建库安装程序,把数据库,数据表,初始数据一股脑儿都装好了~~
    我自己做了个dialog,把服务器名,数据库名,用户名,密码都显示在这个对话框了。
    接下来应该处理这些数据阿,还请高手指教阿
      

  17.   

    没有安装.Net FrameWork的机器上你的C#程序肯定不能执行.打包的时候把.Net FrameWork也打里面数据库也做文件打里面,就OK了
      

  18.   

    现在的问题是安装了sql server,怎么在程序中创建数据源,数据库和表
    或者说怎么在程序里执行一个.sql文件~~
      

  19.   

    具体要怎么弄阿?我做了个.bak的备份文件,但是安装的时候恢复有问题啊
      

  20.   

    恢复怎吗会有问题? private bool RestoreDB(string dbname, string dbserver, string uid, string pwd)
            {
                if (IsDBExsit(dbserver,dbname, uid, pwd))
                    DropDB(dbname, dbserver, uid, pwd);
                    conn = new SqlConnection("server=" + dbserver + ";database=master;uid=" + uid + ";pwd=" + pwd);
                    SqlCommand cmd = new SqlCommand();
                  
                   // SqlTransaction transaction = conn.BeginTransaction();
                    cmd.Connection = conn;
                    cmd.CommandTimeout = 1000;
                    //cmd.Transaction = transaction;
                    cmd.CommandText = "use master RESTORE DATABASE " + dbname +
                " FROM DISK = '" + getpath() + @"\CNWITBAK'  with replace";;
                    try
                    {
                        conn.Open();
                        cmd.ExecuteNonQuery();
                      // transaction.Commit();
                        conn.Close();
                        conn.Dispose();
                        cmd.Dispose();
                        return true;
                    }
                    catch
                    {
                       // transaction.Rollback();
                        conn.Close();
                        conn.Dispose();
                        cmd.Dispose();                  
                        return false;
                    }
            }
      

  21.   

    打包好的安装程序到时不要.NET框架,你可以把.NET框架也打包进去就没问题了
      

  22.   

    看样子我原来的恢复sql写的有点问题,按照levenwood 的写了,安装就完成了。
    RESTORE DATABASE " + DBName + " FROM DISK = '" + dir + @"\database\test.bak' WITH REPLACE
    但是在数据库里好像没有DBName对应的数据库名阿。。
    这是怎么回事? 
      

  23.   

    DBName是testDB,test.bak是client数据库的备份,然后恢复到client的同一个Data Source下面去好像就会无法执行,因为有些东西client在使用。。那有没有办法通过程序来创建一个新的Data Source,这样应该就不会冲突了吧
      

  24.   

    如果你有固定的web服务器的话,可以通过网上发布你的程序,使用visual studio的publish。
    这样的好处是,可以实现网上自动升级
      

  25.   

    不太懂,我这个是winform程序,为什么要发布道网上。。
      

  26.   

    windows XP 上自带的 framework 是 1.0 的,windows vista 上的 framework 是 3.0 的 ,
    如果你 用的是 vs2003, 就不需要 打包  framework ,因为 vs2003 的framework 是1.0的 ,
    vs 2005 用的framework 时2.0 的 ,就必须要把 framwork 2.0 打包一起安装上去,
    如果是 在 vista 上运行,当然不需要 framework ,因为vista 自带的 framwork 是 3.0 的。
      

  27.   

    我也在被打包安装SQL在网上找了,是VB代码有没有C#写的呢!!!