自定义操作是控制打包部署的钥匙.怎样调试你的自定义操作代码呢?
使用下列方法之一:
第一.内部发消息
•在您的代码中添加对 System.Diagnostics.Debugger.Launch() 的调用。该方法会打开实时调试,并允许您将新的调试器附加到您的代码。
第二.想办法中断处理过程,然后附加进程
•在您的代码中添加对 MessageBox.Show("Debug Me") 的调用。显示消息框时,使用 Visual Studio 附加到 MessageBox 进程。然后将断点(对于 Visual C# 项目)或停止点(对于 Visual Basic 项目)放入代码中。
第三.配置调试入口
•将调试首选项设置为启动 InstallUtil.exe(位于 \winnt\Microsoft.net\Framework\version )并将其作为参数传递给程序集。按 F5 时,命中断点。InstallUtil.exe 运行自定义操作的方式将和 MSI 一样。
这三种进入调试的方式各有特点,.net开发需要调试的其他场合亦试用.进入了调试,你就为所欲为吧!
另附:CustomActionData 属性的格式:
•对于作为安装组件的自定义操作(ProjectInstaller 类),“CustomActionData”属性采用 /name=value 形式。其中的每个名称都必须是唯一的,并且仅有一个值。多个值之间必须用一个空格隔开:/name1=value1 /name2=value2 。如果值本身有一个空格,则必须在该值两侧加上引号:/name="a value" 。
使用加括号的语法:/name=[PROPERTYNAME] ,可以传递 Windows Installer 属性。对于像“[TARGETDIR]”这样返回目录的 Windows Installer 属性,除了加括号外,还必须加引号和尾部反斜杠:/name="[TARGETDIR]\" 。
在安装类中采用如下方式调用:
if (this.Context.Parameters.ContainsKey("name1"))
{
path = this.Context.Parameters["name1"];
}