关于使用Visual Studio 2008 建立Setup And Deployment Project(安装与部署项目)制作安装.net 安装程序,插入Custom Actions(自定义动作)的办法

关于使用Visual Studio 2008 建立Setup And Deployment Project(安装与部署项目)制作安装.net 安装程序,插入Custom Actions(自定义动作)的办法。

 可以插入哪些编程语言的写的程序呢?

1.       .net 语言编写的.dll文件,看看微软的MSDN,大家都能做出来。

2.       VBScript编写的.vbs文件或者用JavaScript编写的.js文件。两种方法路子一样,因此归为一类。注意.vbs文件运行可能会被杀毒软件误认为病毒。我是参考CodeProject上一位外国网友写的.vbsdemo,实现了一个.js版本的数据库安装功能。

a)       Session.Property("CustomActionData");这句一直没搞明白数据时怎么传递过来的。VBScript和JavaScript中怎么定义Session找个对象的,MSDN上翻遍了,一直也没查到。

 

 

      var curdir = Session.Property("CustomActionData");

      var WshShell = new ActiveXObject("WScript.Shell");

      var sqlDbCount = "sqlcmd -S LOCALHOST\\SQLEXPRESS -E -Q \"EXIT(SELECT count(name) FROM sys.databases WHERE name = N'Db')\"";
      var dbcount = WshShell.Run(sqlDbCount, 0, true);

      if (dbcount == 0) {

          var sqlCreateDb = "sqlcmd -S LOCALHOST\\SQLEXPRESS -E -Q \"Create database Db;\"";
          WshShell.Run(sqlCreateDb, 0, true);

          var sqlDb = "sqlcmd -S LOCALHOST\\SQLEXPRESS -E -i \"" + curdir + "\sql\\Db.sql\"";
          WshShell.Run(sqlDb, 0, true);

          var sqlInitial = "sqlcmd -S LOCALHOST\\SQLEXPRESS -E -i \"" + curdir + "\sql\\Init.sql\"";
          WshShell.Run(sqlInitial, 0, true);
      }

 

 

VBScript版本的源代码,有时间的话,实现并且测试通过了,再贴上来吧!

 .net版本的源代码,也还没顾着实现。

 
大家有.net版本和VBScript版本的经过测试的代码,希望贴上来,共享给大家。

 博客园正在改版,插图功能暂时不能用了。以后回帖再补图吧。

 

posted @ 2009-08-01 20:55  任国强  阅读(2237)  评论(1编辑  收藏  举报