【问题标题】:Is it ok to suggest the user home directory as default installation folder? [closed]可以建议用户主目录作为默认安装文件夹吗? [关闭]
【发布时间】:2014-10-22 20:52:09
【问题描述】:

我正在为 py2exe 打包应用程序制作安装程序。 py2exe 捕获 strerr 并将其放入与可执行文件在同一文件夹中创建的日志文件中。因此,将应用程序安装到“程序文件”中会导致问题,因为该应用程序无权在其中创建文件。

我也不想编辑清单以请求应用程序的 UAC。因此,我正在考虑将我的安装程序配置为使用用户主目录作为默认安装文件夹。

但是用户主页是用于文档和照片等的。

(编辑)我真的想把它和可执行文件放在一起,因为我希望用户可以轻松找到日志文件并将其发送给我进行调试。

那么,这是一种不好的做法吗?有更好的办法吗?

【问题讨论】:

    标签: python windows inno-setup py2exe home-directory


    【解决方案1】:

    py2exe 捕获 strerr 并将其放入与可执行文件在同一文件夹中创建的日志文件中

    您可以覆盖 py2exe 的默认行为并将日志文件放在特定文件夹中。有关详细信息,请参阅py2exe error logging。 我建议将日志文件放在AppData/Local 文件夹中。

    What is the AppData folder?

    AppData 文件夹包含应用程序 特定于您 PC 上的应用程序的设置、文件和数据。文件夹 在文件资源管理器中默认隐藏,共有三个隐藏 子文件夹:Local、LocalLow 和 Roaming。

    • 漫游。此文件夹 (%appdata%) 包含可以随您的用户配置文件在 PC 之间移动的数据 - 就像您在域中时一样 - 因为 此数据能够与服务器同步。例如,如果您 登录到域上的另一台 PC、您的 Web 浏览器收藏夹或 书签将可用。

    • 本地。此文件夹 (%localappdata%) 包含无法随您的用户配置文件移动的数据。此数据通常特定于 PC 或太 大到与服务器同步。例如,网络浏览器通常存储 他们的临时文件在这里。

    • 本地低。此文件夹 (%appdata%/…/locallow) 包含无法移动的数据,但也具有较低级别的访问权限。例如,如果 您在受保护或安全模式下运行网络浏览器,该应用程序将 只能访问 LocalLow 文件夹中的数据。

    【讨论】:

    • 感谢您的建议。是的,似乎有一种方法可以重定向它。基本上sys.strerr = open('path/log.txt','w') 会做到。但是,我真的想把它和可执行文件放在一起,因为我希望用户找到它并将它发送给我进行调试。 AppData/Local 对于普通用户来说可能有点太隐蔽了。
    • @otterb 在这种情况下,将应用程序安装在标准文件夹中,并将日志文件放在用户的主目录中。用户的主目录用于存储用户感兴趣的任何数据,而不仅仅是文档和照片等
    • 是的,我也考虑过这种可能性。我想知道用户最容易找到日志文件的方法。根据我的经验,如果人们下载并解压缩 zip,然后单击 exe 文件启动,那么他们在同一文件夹中定位日志文件没有问题。所以,我认为这可能是一个更安全的选择。但现在我将提供一个不错的安装程序,它将创建一个开始菜单快捷方式。那么也许用户的家可能会更好?但是在用户家安装可执行文件有多糟糕?
    • @otterb:不好。这惹恼人们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多