Windows installer 如何在安装过程中使用WIX将应用程序文件夹名称与用户选择的目标路径一起追加。?

Windows installer 如何在安装过程中使用WIX将应用程序文件夹名称与用户选择的目标路径一起追加。?,windows-installer,Windows Installer,当用户选择不同的安装文件夹路径而不是默认路径时,我希望在目标路径的末尾创建/追加应用程序文件夹名称 默认路径为“C:\ProgramFiles\Application Name\” 如果用户选择其他路径,例如“D:\Temp\”,我希望按照如下方式附加文件夹名“D:\Temp\Application name\” 我将Wix用户界面称为“WixUI\u InstallDir” 我还设置了属性Id=“WIXUI\u INSTALLDIR”Value=“INSTALLFOLDER” 通过将Brows

当用户选择不同的安装文件夹路径而不是默认路径时,我希望在目标路径的末尾创建/追加应用程序文件夹名称

默认路径为“C:\ProgramFiles\Application Name\”

如果用户选择其他路径,例如“D:\Temp\”,我希望按照如下方式附加文件夹名“D:\Temp\Application name\”

我将Wix用户界面称为“WixUI\u InstallDir”

我还设置了属性Id=“WIXUI\u INSTALLDIR”Value=“INSTALLFOLDER”

通过将BrowseDlg.wxs中的属性“\u BrowseProperty”的值更改为“[WIXUI\u INSTALLDIR]\Application Name”,我得到了错误:2872

有什么帮助吗


提前感谢…

最简单的方法是在INSTALLLOCATION的子目录中编写每个组件。这样,组件将成为[INSTALLLOCATION]应用程序名

另一种方法是使用自定义操作查看他们是否选择了以应用程序名称结尾的路径,以及是否没有添加该路径。太复杂了

我不知道我是否真的同意这个要求。这不是一个广泛使用的约定,可能会让选择C:\Applications\Application Name并最终获得C:\Applications\Application Name\Application Name的用户感到沮丧。我会很恼火,选择C:\Applications来获取C:\Applications\Application Name


广泛接受的标准是将INSTALLLOCATION=[ProgramFilesFolder]设置为我的公司\我的应用程序。

最简单的方法是在INSTALLLOCATION的子目录中编写每个组件。这样,组件将成为[INSTALLLOCATION]应用程序名

另一种方法是使用自定义操作查看他们是否选择了以应用程序名称结尾的路径,以及是否没有添加该路径。太复杂了

我不知道我是否真的同意这个要求。这不是一个广泛使用的约定,可能会让选择C:\Applications\Application Name并最终获得C:\Applications\Application Name\Application Name的用户感到沮丧。我会很恼火,选择C:\Applications来获取C:\Applications\Application Name


广泛接受的标准是将INSTALLLOCATION=[ProgramFilesFolder]设为我的公司\我的应用程序。

我同意你的看法。但是,如果用户选择了“我的应用程序”以外的其他文件夹(例如:D:\Temp),而该文件夹是在安装过程中在C:\ProgramFiles\下创建的,则所有文件都会复制到文件夹(“Temp”)中,而不使用我的应用程序名称中的任何公用文件夹或主文件夹。或者,用户需要自己为要安装的应用程序创建一个文件夹。您可以编写一个自定义操作来警告他们路径不以“appname”结尾。是的,用户可以做各种愚蠢的事情,但在我多年的写作生涯中,这并不是我真正想要防范的。谢谢你的建议。我同意你的看法。但是,如果用户选择了“我的应用程序”以外的其他文件夹(例如:D:\Temp),而该文件夹是在安装过程中在C:\ProgramFiles\下创建的,则所有文件都会复制到文件夹(“Temp”)中,而不使用我的应用程序名称中的任何公用文件夹或主文件夹。或者,用户需要自己为要安装的应用程序创建一个文件夹。您可以编写一个自定义操作来警告他们路径不以“appname”结尾。是的,用户可以做各种愚蠢的事情,但在我多年的写作生涯中,这并不是我真正想要防范的。谢谢你的建议。