我有这个问题。我为我的c#解决方案构建了一个安装程序,该安装程序将放在一个文件夹中,其中包含需要复制到已安装文件夹的其他安装文件夹和文件。这很容易,我只需通过在visual studio安装项目中指定属性,将它们复制到我创建的文件夹中,使用我想要的文件夹结构。
现在,我还希望当我运行由我创建的'setup.exe'时,c:/目录中的某些文件也会从我运行的特定机器上删除(如果它们存在)安装程序安装程序。
我曾尝试在PostBuildEvent&中提供命令行参数。我的安装程序安装程序项目的属性窗口下的PreBuildEvent,但它无法正常工作。它正在构建项目时删除这些文件,而我希望在运行在项目构建之后创建的安装程序安装程序文件(Setup.exe)时删除这些文件。
答案 0 :(得分:3)
您可以在自定义操作dll中编写代码,可以为您执行此操作。
请记住,虽然您可能会遇到权限问题,具体取决于运行安装程序的帐户具有哪些权限。
MSDN有一个很好的example of how to create a custom action dll。听起来你可能想要:
Install
重载中,将路径写入stateSaver字典Uninstall
重载中,从stateSaver字典中读取路径(我假设你想在卸载时删除这些文件)