【问题标题】:Building an MSI/Setup with VS2008 - How to Create Sub-Folders for Logs and Temporary Files使用 VS2008 构建 MSI/设置 - 如何为日志和临时文件创建子文件夹
【发布时间】:2010-10-24 02:06:30
【问题描述】:

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

我被困在以下地方。

  1. 我使用 log4net 进行日志记录。如何编写我的 App.Config,使 LogFile 文件夹基于我的最终用户安装应用程序的位置。也就是说,如果我的最终用户将它安装在 C:\Program Files\\ 的默认位置,那么 LogFile 文件夹将为 C:\Program Files\\*LogFiles*。

如果他们选择将其安装在其他位置,LogFiles 文件夹将是 MyApp 文件夹的子文件夹。

  1. 同样,我有一个 TemporaryFiles 文件夹,我在修改原始文件时存储临时文件。这又应该是 MyApp 文件夹的子文件夹。

我也明白Application文件夹指向[ProgramFilesFolder][Manufacturer][ProductName],CommonFiles文件夹指向哪里?通常里面有什么?

我使用 VS2008 构建设置。

【问题讨论】:

    标签: c# visual-studio-2008 windows-installer installation configuration-files


    【解决方案1】:

    我根本不会在程序文件文件夹中包含日志文件。该进程需要对其的写入权限,通常您只希望管理员对程序文件文件夹或其任何子文件夹具有写入权限。我宁愿考虑使用例如%appdata%/yourapplication/logfiles。然后你可以很容易地让你的 log4net 配置指向那个位置,不管它是在哪里设置的。我会对临时文件做同样的事情。

    (我对 CommonFiles 的问题没有答案。)

    【讨论】:

    • 谢谢。但是,您能否在 App.Config 文件中提供示例条目。我只是这样做 。不知何故,这似乎对我不起作用。
    • 没关系...在 SO 中做了一点谷歌,发现了这一点。
    猜你喜欢
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多