【发布时间】:2012-02-20 10:49:47
【问题描述】:
我正在尝试为我的网站创建一个网络设置,并且我想使用安装程序类来做一些自定义的事情。我使用的是 VS 2010,网站和安装程序是 .NET 3.5。
我在Custom Actions 下的Install 部分添加了对安装程序类项目输出的引用:
我还为此操作在CustomActionData 上设置了/targetdir="[TARGETDIR]/"。
InstallScript 项目是一个标准类库 (dll)。
有一个继承自 Installer 类的公共类。正如我在几个在线示例中看到的那样,它会覆盖 Install 方法:
using System.Collections;
using System.Windows.Forms;
namespace InstallScript
{
public class MyWebInstaller : System.Configuration.Install.Installer
{
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
var targetDir = Context.Parameters["targetdir"];
if(targetDir==null) targetDir = "No TARGETDIR!";
MessageBox.Show("TARGETDIR:\t" + targetDir);
}
}
}
我认为在安装过程中应该在此处显示一个消息框,但它似乎从未被调用过。也没有显示错误。设置就像从未调用过此代码一样运行。
有谁知道问题出在哪里?
【问题讨论】:
标签: web-setup-project managedinstallerclass