关于使用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上一位外国网友写的.vbs的demo,实现了一个.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版本的经过测试的代码,希望贴上来,共享给大家。
博客园正在改版,插图功能暂时不能用了。以后回帖再补图吧。