Vb.net 当我没有';我不知道程序文件夹在哪里?
我正在尝试(在我的菜单条中)从我的程序打开更新日志。我有一个.msi,但问题是我不知道用户将在哪里安装程序。例如,在我的代码中,我可以将路径设置为Vb.net 当我没有';我不知道程序文件夹在哪里?,vb.net,Vb.net,我正在尝试(在我的菜单条中)从我的程序打开更新日志。我有一个.msi,但问题是我不知道用户将在哪里安装程序。例如,在我的代码中,我可以将路径设置为C:\ProgramFiles\Color Picker\updatelog.txt。但是如果用户将程序安装到其他地方呢?他们将尝试打开更新日志文本文件,并显示一个错误 可能有一种方法可以从安装位置打开文本文件。所以在伪代码中 OPEN updatelog.txt(InstallLocation). 获取应用程序存储位置的一种方法是使用My.appl
C:\ProgramFiles\Color Picker\updatelog.txt
。但是如果用户将程序安装到其他地方呢?他们将尝试打开更新日志文本文件,并显示一个错误
可能有一种方法可以从安装位置打开文本文件。所以在伪代码中
OPEN updatelog.txt(InstallLocation).
获取应用程序存储位置的一种方法是使用
My.application.Info.DirectoryPath
将此功能与文本阅读器
或流阅读器
结合使用应该可以很好地为您服务
如果不知道您的具体实现,我无法提供具体的答案。如果你更新你的问题,我会改进我的答案。现在,我相信这可能足够了。获取应用程序存储位置的一种方法是使用
My.application.Info.DirectoryPath
将此功能与文本阅读器
或流阅读器
结合使用应该可以很好地为您服务
如果不知道您的具体实现,我无法提供具体的答案。如果你更新你的问题,我会改进我的答案。现在,我相信这可能足够了。日志文件最好保存在与应用程序安装文件夹不同的位置。您不会希望被管理访问要求绊倒 例如,作为最佳实践,您可以使用以下内容:
Dim sLogFile As String = "UpdateLog.txt"
Dim sAppData As String = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
Dim sAppName As String = "Colour Picker"
Dim sLogPath As String = IO.Path.Combine(sAppData, sAppName, sLogFile)
如果您想让用户可以访问日志文件,可以提供在UI中打开日志文件并指向该位置的方法。日志文件最好保存在与应用程序安装文件夹不同的位置。您不会希望被管理访问要求绊倒 例如,作为最佳实践,您可以使用以下内容:
Dim sLogFile As String = "UpdateLog.txt"
Dim sAppData As String = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
Dim sAppName As String = "Colour Picker"
Dim sLogPath As String = IO.Path.Combine(sAppData, sAppName, sLogFile)
如果希望让用户可以访问日志文件,可以提供在UI中打开日志文件并指向该位置的方法