各位大哥,请问如何用inno setup打包发布数据库程序,也就是说可以制作安装(创建)数据库.有INSTALLSHIED汉华程序的也可以或者使用说明.

解决方案 »

  1.   

    那你还是自己看inno Setup源代码吧。
      

  2.   

    用install shield吧,没怎么用过innosetupinstall shield功能强大,按向导来做就是了
      

  3.   

    按提示一步步做就会生成下面的脚本,也可以自己修改; Script generated by the Inno Setup Script Wizard.
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES![Setup]
    AppName=My Program
    AppVerName=My Program 1.5
    AppPublisher=My Company, Inc.
    AppPublisherURL=http://www.mycompany.com
    AppSupportURL=http://www.mycompany.com
    AppUpdatesURL=http://www.mycompany.com
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program
    LicenseFile=C:\Program Files\Inno Setup 2\license.txt
    InfoBeforeFile=C:\Program Files\Inno Setup 2\license.txt
    ; uncomment the following line if you want your installation to run on NT 3.51 too.
    ; MinVersion=4,3.51[Tasks]
    Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"; MinVersion: 4,4[Files]
    Source: "C:\Program Files\Inno Setup 2\Samples\MyProg.exe"; DestDir: "{app}"; CopyMode: alwaysoverwrite
    Source: "C:\Program Files\Inno Setup 2\ISCC.exe"; DestDir: "{app}"; CopyMode: alwaysoverwrite
    Source: "C:\Program Files\Inno Setup 2\license.txt"; DestDir: "{app}"; CopyMode: alwaysoverwrite[Icons]
    Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
    Name: "{userdesktop}\My Program"; Filename: "{app}\MyProg.exe"; MinVersion: 4,4; Tasks: desktopicon[Run]
    Filename: "{app}\MyProg.exe"; Description: "Launch My Program"; Flags: nowait postinstall skipifsilent
      

  4.   

    也就是说可以制作安装(创建)数据库.
    是SQL的数据库吗?
    可以在程序启动的时候验证SQL 里有没有你的数据库,如果没有你就可以在程序里创建或附加;
      

  5.   

    安装完成后自动运行一个就行啊
    install shield可以指定一个的
    就用sql语句来创建就行了
      

  6.   

    1. 测试数据库连接;
    try
              Connected:= false;
              Provider:= 'SQLOLEDB.1';
              Properties['Data Source'].Value:= Edit1.Text; //服务器名或者ip地址
              Properties['Initial Catalog'].Value:= 'master'; //Edit2.Text; //表名
              Properties['User ID'].Value:= Edit3.Text; //用户名
              Properties['password'].Value:= Edit4.Text; //密码
              LoginPrompt:= false;
              Connected:= true;
            except
              application.MessageBox('数据库连接失败,请检查服务器是否安装了Sql Server程序和连接设置的正确性!','提示',mb_ok);
              exit;
            end;
    2. 验证数据库是否存在
                  close;
                sql.Clear;
                sql.add('select name from master.dbo.sysdatabases where name='''+'ERP_0'+'''');
                open;
                if RecordCount <> 1 then //如果不存在
    3. 附加数据库
                if RecordCount <> 1 then //如果不存在
                begin
                  close;
                  sql.Clear;
                  sql.add('EXEC sp_attach_db  @dbname   =   N'''+'ERP_0'              +''',@filename1 = N'''+ExtractFilePath(Paramstr(0))+'DATA\ERP_0_Data.MDF'
                  +''',@filename2 = N'''+ExtractFilePath(Paramstr(0))+'DATA\ERP_0_Log.LDF'+'''');
                  execsql;
                end;