我有2个项目在我的解决方案如何使System.Configuration.Install.Installer从安装项目中获取变量?
Windows服务
它的安装项目
我需要那个叫OnAfterInstall我ProjectInstaller : System.Configuration.Install.Installer
的方法来获得从该ProductName
安装项目。我怎么做?
我有2个项目在我的解决方案如何使System.Configuration.Install.Installer从安装项目中获取变量?
Windows服务
它的安装项目
我需要那个叫OnAfterInstall我ProjectInstaller : System.Configuration.Install.Installer
的方法来获得从该ProductName
安装项目。我怎么做?
在您的安装项目中,右键单击项目,然后选择视图>自定义操作。添加自定义操作。现在选择添加输出,选择您的Web服务项目,然后单击确定。
现在选择您的自定义操作,并设置CustomActionData
属性包含类似/ProductName=[PRODUCTNAME] /whateveryouwant=[Whateveryouwant]
(注意,这些键值对,即访问产品名称,ProductName
是键和值是PRODUCTNAME
)。
注意CustomActionData
包含将被传递到您的安装程序类的参数。 PRODUCTNAME
是与用户界面对话框中的输入控件关联的属性名称,因此在您的情况下,您会提示用户在yor安装程序中输入产品名称。因此,标签是“产品名称”和相应的属性应该设置为PRODUCTNAME
(很明显,你可以改变这一点,但是要注意的最重要的事情是,UI属性名必须是相同的CustomActionData
属性名称)这个例子工作。现在
您的安装类中,你可以通过做
public override void Install(IDictionary stateSaver)
{
// If you need to debug this installer class, uncomment the line below
//System.Diagnostics.Debugger.Break();
string productName = Context.Parameters["ProductName"].Trim();
string whateveryouwant = Context.Parameters["whateveryouwant"].Trim();
}
注获得产品名称我包括注释代码//System.Diagnostics.Debugger.Break();
,你可以发表评论的,这样就可以调试安装程序类。
希望这有助于。
优秀!谢谢! – 2010-01-15 11:15:14
我遇到了两个问题:(1)它不工作(2)在调试时,它说:'无法计算表达式,因为当前方法的代码是optimized.' – 2010-01-15 15:28:23
林不知道是什么问题,没有看到你代码或有更多的细节。你得到的错误是一个错误,发生在许多地区。如果你愿意的话,你可以给我一个你的设置项目的修剪版本,并且看看我能否看到它有什么问题。 – Somedeveloper 2010-01-18 17:26:28