C# 使用VS2008构建MSI/安装程序-如何为日志和临时文件创建子文件夹

C# 使用VS2008构建MSI/安装程序-如何为日志和临时文件创建子文件夹,c#,visual-studio-2008,windows-installer,installation,configuration-files,C#,Visual Studio 2008,Windows Installer,Installation,Configuration Files,我已经构建了一个C#NET WinForms应用程序。我现在需要为它构建一个MSI安装程序,这样我就可以将它发送到我的客户端 我被困在下面的地方 我使用log4net进行日志记录。如何编写App.Config,使日志文件文件夹基于最终用户安装应用程序的位置。也就是说,如果最终用户将其安装在默认位置C:\Program Files\\,则日志文件文件夹将是C:\Program Files\\*LogFiles* 如果他们选择在别处安装,LogFiles文件夹将是MyApp文件夹的子文件夹 类似地,

我已经构建了一个C#NET WinForms应用程序。我现在需要为它构建一个MSI安装程序,这样我就可以将它发送到我的客户端

我被困在下面的地方

  • 我使用log4net进行日志记录。如何编写App.Config,使日志文件文件夹基于最终用户安装应用程序的位置。也就是说,如果最终用户将其安装在默认位置C:\Program Files\\,则日志文件文件夹将是C:\Program Files\\*LogFiles* 如果他们选择在别处安装,LogFiles文件夹将是MyApp文件夹的子文件夹

  • 类似地,我有一个临时文件文件夹,当我修改原始文件时,我在其中存储临时文件。这同样应该是MyApp文件夹的子文件夹 我还知道应用程序文件夹指向[ProgramFilesFolder][Manufacturer][ProductName],CommonFiles文件夹指向哪里?通常,里面是什么


    我使用VS2008构建设置

    我根本不会把日志文件放在program files文件夹中。进程需要对其具有写入权限,通常您只希望管理员对program files文件夹或其任何子文件夹具有写入权限。我宁愿考虑使用例如<代码> %AppDATAs/YouValp/日志文件< /代码>。然后,您可以轻松地将log4net配置指向该位置,而不管将在何处进行设置。我会对临时文件做同样的事情


    (这个问题我没有答案。)

    谢谢。但是,您可以在App.Config文件中提供一个示例条目吗。我就这么做。不知何故,这似乎对我不起作用。没关系……在SO中做了一点谷歌搜索,发现了这一点。