我已经为该应用程序创建了一个 winforms 应用程序和一个设置和部署项目(VS 2010)。
我只需要这个:
当用户运行 msi 时,在他选择安装文件夹后,我想检查应用程序的主要可执行文件是否已存在于该文件夹中。在这种情况下,我想中断安装并提示用户卸载现有应用程序或选择其他文件夹。
如果可能,我希望不使用任何自定义安装程序操作。起初,启动条件(带有文件搜索)似乎是正确的方法,但似乎启动条件(因为它们是“启动”)在 msi 执行开始时运行,而不是在文件夹选择之后运行。
我已经为该应用程序创建了一个 winforms 应用程序和一个设置和部署项目(VS 2010)。
我只需要这个:
当用户运行 msi 时,在他选择安装文件夹后,我想检查应用程序的主要可执行文件是否已存在于该文件夹中。在这种情况下,我想中断安装并提示用户卸载现有应用程序或选择其他文件夹。
如果可能,我希望不使用任何自定义安装程序操作。起初,启动条件(带有文件搜索)似乎是正确的方法,但似乎启动条件(因为它们是“启动”)在 msi 执行开始时运行,而不是在文件夹选择之后运行。
Visual Studio 安装和部署项目不支持这种类型的创作。这是 Microsoft 从 Visual Studio 2012 中删除该项目类型的众多原因之一。
使用此工具执行此操作的唯一方法是构建一个 MSI,然后使用 ORCA 创建一个转换,创作验证自定义操作并将其作为门控事件安排到 UI 中。然后,您可以编写一个构建后脚本,以在每次构建时将转换应用于 MSI。
非常先进的东西,坦率地说不值得努力。切换到支持执行此操作的工具(例如 Windows Installer XML (FOSS) 或 InstallShield 2012 Professional)会更有益。($$)