在 Visual studio 安装程序中更改安装路径(应用程序文件夹)

Changing the Installation Path (Application Folder) in Visual studio installer

我想添加一个对话框,它是一个文本框,用户可以写一些东西 在那(如客户名称 - 耐克)将强制填写然后我 想在 Application Folder 中使用该值。前任 - 默认的应用程序文件夹路径是 - [ProgramFilesFolder][Manufacturer]\[ProductName] 我想添加这个 文本框或对话框中的值意味着现在文件夹位置将是 [ProgramFilesFolder][Manufacturer]\[TextBoxValue]\[ProductName]。 如果我可以在 class 中编写此代码或如何在 属性 中添加,请帮助我? 我能实现吗?请回复。 感谢您的帮助...

默认位置图像

在用户界面中添加了一个 textbox,即 -

Visual Studio 安装项目不支持这样做。然而,它可以通过在构建后更改 MSI 文件来实现。

在默认 属性 名称 EDITA1 的文本框对话框中,将用户输入的值添加到路径的正常方法是在文件系统视图中将应用程序文件夹的路径定义为:

[ProgramFiles64Folder][制造商]\NewSetup[EDITA1]

属性 名称两边的括号导致它们解析为实际值。所以基本上把[EDITA1]放在合适的地方。

不幸的是,Visual Studio 生成的 MSI 文件破坏了这一点。问题是应用程序文件夹的目录是在显示文本框对话框之前设置的。解决这个问题的方法是用 Orca 编辑 MSI 文件,并在最后更改 InstallUISequence table。序列号值无关紧要。只需更改序列号,使 InstallUISequence table 的结尾顺序为:

维护表 DIRCA_TARGETDIR 成本定案 文件夹形式 执行动作

并确保您已移动 DIRCA_TARGETDIR 而不是将其留在前面的位置。

DIRCA_TARGETDIR 是为应用程序文件夹设置目标目录的操作。通过将它放在文本框对话框之后,它将包含 EDITA1 的值,这就是应用程序文件夹安装目录的 FolderForm 中显示的值。