【问题标题】:Run a condition check after user selects installation folder用户选择安装文件夹后运行条件检查
【发布时间】:2012-10-17 09:33:45
【问题描述】:

我已经创建了一个 winforms 应用程序以及该应用程序的设置和部署项目(VS 2010)。

我只需要这个:

当用户运行 msi 时,在他选择安装文件夹后,我想检查应用程序的主要可执行文件是否已存在于该文件夹中。在这种情况下,我想中断安装并提示用户卸载现有应用程序或选择其他文件夹。

如果可能,我希望不使用任何自定义安装程序操作。起初,启动条件(带有文件搜索)似乎是正确的方法,但似乎启动条件(因为它们是“启动”)在 msi 执行开始时运行,而不是在文件夹选择之后。

【问题讨论】:

    标签: visual-studio-2010 visual-studio windows-installer setup-deployment


    【解决方案1】:

    Visual Studio 安装和部署项目不支持这种类型的创作。这是 Microsoft 从 Visual Studio 2012 中删除该项目类型的众多原因之一。

    使用此工具执行此操作的唯一方法是构建一个 MSI,然后使用 ORCA 创建一个转换,创作验证自定义操作并将其作为门控事件安排到 UI 中。然后,您可以编写一个构建后脚本,以在每次构建时将转换应用于 MSI。

    非常先进的东西,坦率地说不值得努力。切换到支持执行此操作的工具(例如 Windows Installer XML (FOSS) 或 InstallShield 2012 Professional)会更有益。 ($$)

    【讨论】:

    • 谢谢,这很有帮助。由于我想要一些快速和肮脏的东西,我最终使用 .NET 安装程序类作为自定义操作来检查特定文件夹。这个 Setup n Deployment 项目也确实有问题。它时不时地丢失所有项目依赖项,我每次都必须重新配置 dll 及其目标路径......
    • 您对 Advanced Installer 有何看法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多