图 9 显示了为该 Custom Action 配置的属性。这些属性中最重要的是 Condition 和 CustomActionData。Condition 可确保此安装程序只有在满足特定条件时才运行。CustomActionData 则是向 CustomAction EXE/DLL 传递参数。
在此示例中,我按照下列方式设置了这些属性:
/server=[SERVER_NAME] /target="[TARGETDIR]\"
/database=[DATABASE_NAME] /username=[USER_NAME]
/password=[PASSWORD] /version=[WINDOWSVERSION]
请注意,设置 Windows 默认属性(如 TARGETDIR)与设置用户界面编辑器或启动条件编辑器中您自己创建的属性(如 SERVER_NAME 和 WINDOWSVERSION)之间的区别。但是,通用格式为 /name=[value],后面紧跟反斜杠,具体取决于属性。另外,请注意 InstallerClass 属性值。此处传递的参数将用作 Context.Parameters。您可以看到这些参数在 CustomSteps 组件中是如何使用的。当您运行该安装程序时,自定义安装程序的 Install 方法会在复制了所有部署文件之后被调用。
您又按照类似方法添加了 Uninstall 阶段的 Custom Action,并将其重命名为 Uninstall database。但是,这不需要任何参数。必需的参数将使用 stateSaver 集合提供。这就是为什么在安装过程中创建的 *.installstate 文件非常重要的原因了。您可以在 Install 文件夹中看到该文件。stateSaver 是使用此文件初始化的,因此建议您在安装过程中向 stateSaver 添加卸载操作所需的所有这些值。
根据您的方案,还可以使用其他一些编辑器,如文件类型编辑器和注册表编辑器。但是,对于此示例,并不需要这些编辑器。
您现在就可以进行安装了。生成解决方案和安装程序项目,然后进行安装和卸载,以此进行测试。
返回页首
小结
对于可以使用 VS.NET 中的安装项目来实现实施的高级概念来说,此处讲述的这个过程只是冰山一角。很重要的一点是,要根据您自己的应用程序要求来分析和自定义您的部署。在此示例中,您看到了文件的 Build Action 属性的用法。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/