在Windows 8.1中更改已发布的项目安装目录

时间:2014-12-15 01:35:01

标签: c# windows

我在发布项目时尝试更改项目的默认安装目录,但我似乎无法选择已发布的setup.exe实际放置程序的位置。似乎在安装了setup.exe运行和应用程序之后,所有处理过的文件都在C:\Users\{username}\AppData\Local\Apps\2.0\的文件夹下(类似的东西,我不记得确切的目录,因为它很长)。这不是我想要的,因为我在C:\Program Files\中安装了该程序,但所有日志文件都转到了C:\Users\{username}\AppData\Local\Apps\2.0\。这真的很烦人。

我发布的应用程序是C#Windows Form Application

我在线查看并发现有人建议使用Visual Studio安装项目为C#Windows应用程序创建一个MSI包而不是发布该程序:

Publish Windows form application how change the installation path

以上网站可以解决这个问题。在发布C#Windows窗体应用程序后,是否还有其他建议可以解决此重定向问题?谢谢。

2 个答案:

答案 0 :(得分:1)

在Visual Studio中使用发布功能时,您将创建单击一次发布。这种类型的部署具有相对固定的规则,并非所有内容都可以配置。它总是安装到windows用户配置文件下的混淆文件夹中。它类似于以下事实:您无法更改Windows 8.1下安装Windows-store现代应用程序的位置。

您可以为您的应用程序创建MSI安装项目 - 但在Visual Studio 2012中缺少此类型的项目,并在Visuals Studio 2013中重新引入了该项目。您可以在其中指定安装文件夹。您还可以在Visual Studio 2012中使用Install Shield Lite。

您写道:

  

这不是我想要的,因为我在C:\ Program中安装了程序   文件\

无法使用Visual Studio中的“发布”按钮将ClickOnce应用程序安装到C:\Program Files\中。

如果您对日志文件的位置有疑问,则需要在应用程序代码中指定其他文件夹。确保运行应用程序的用户具有该文件夹的写入权限 - 它应位于某个用户的配置文件文件夹或公用文件夹中。避免%ProgramFiles%作为日志文件的文件夹 - 这不是一个好习惯。

而不是Application.StartupPath您应该使用包括非管理员在内的所有用户都可以访问的路径,例如:

Path.Combine(Environment.GetFolderPath(SpecialFolder.CommonApplicationData),"MyCompanyName")

答案 1 :(得分:0)

您可以使用InstallShield创建安装向导/ Setup。

Here's the free version for Visual Studio