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

时间:2018-05-09 05:04:35

标签: c# vb.net visual-studio visual-studio-setup-proje

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

默认位置图片

enter image description here

在用户界面中添加了textbox -

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

[ProgramFiles64Folder] [生产] \ NewSetup [EDITA1]

其中属性名称周围的括号使它们解析为实际值。所以基本上把[EDITA1]放在适当的地方。

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

MaintenanceForm DIRCA_TARGETDIR CostFinalize FolderForm ExecuteAction

并确保您已移动DIRCA_TARGETDIR而不是将其保留在早期位置。

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