【问题标题】:Windows Installer Folder Exists PropertyWindows Installer 文件夹存在属性
【发布时间】:2012-05-20 04:12:15
【问题描述】:

我正在为 Windows 窗体应用程序创建一个 Windows 安装项目。通常,我们的应用程序会部署到两个不同的客户端,一个有特定的打印机驱动程序,一个没有。我们当前的 installshield 设置会根据目录是否存在(即 C:\PrinterDriver)来检查驱动程序是否存在。如果目录存在,安装程序会复制必要的文件。

在 WindowsInstaller 项目的文件系统中,我创建了文件夹 C:\MyProjectFiles\PrinterDriver。我希望仅当目录 C:\PrinterDriver 存在时才复制这些文件。如果该目录不存在,安装程序仍应继续进行而不复制文件,但不会回滚。关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: windows-installer setup-project file-exists


    【解决方案1】:

    添加file search 并使用文件condition 中的属性。

    【讨论】:

    • VS部署项目非常有限。我猜你必须输入一个文件名才能通过构建。您的其他选择是编写自定义操作或移至WiX
    • 如果我坚持使用 Windows 安装程序,那么我唯一的选择就是创建一个新的 C++ 自定义操作。或者可以在 C# 中完成自定义操作吗?
    • Custom action 可以用 C# 编写,但目标机器必须具有 .NET 框架的明显限制。或者您可以简单地指向C:\PrinterDriver下的已知文件名
    • 但是它在文件已经被复制之后运行,而不是之前:(这就是我在我的项目中已经拥有的。
    • 启动条件在安装开始之前运行,因此您应该能够发现文件是否存在。
    猜你喜欢
    • 2011-08-03
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多