创建exe文件
Creating exe file
我正在尝试创建一个可以分发给其他人的 exe 文件,但我想知道是否有人可以向我解释一下,如果我在我的程序中写入一个文本文件,然后创建一个 exe,那么当其他人使用时,是否会崩溃下载应用程序,因为我指向 c:user\source\programApp\repos\textfile.txt
有没有办法在程序中通用声明 textfile.txt?
在您的代码中,您应该避免将文件写入绝对路径。您的用户通常不太可能在他们的系统上已经存在相同的路径,并且您不能确定您的程序 运行 具有足够的权限来创建路径,如果它不存在的话。
相反,您有三个选择:
- 在本地编写 textfile.txt,即在与 exe 所在的同一文件夹中。
- 将您的 textfile.txt 写入相对路径,在写入之前始终小心检查该路径是否存在(并首先尝试创建它)
- 将您的 textfile.txt 写入标准用户文件夹之一(或您创建的子目录,如有必要)。为此,您使用
System.Environment.GetFolderPath
向其传递相关参数,例如 Environment.SpecialFolder.MyDocuments
在所有情况下,如果 exe 运行 没有足够的权限将文件写入指定位置,您应该将写入的文件包含在 Try .. Catch
中,这样您的程序就不会崩溃。
您绝不能对文件或文件夹路径进行硬编码。您应该始终使用在 运行 时间解析的标准路径。您可以使用 Environment.GetFolderPath
或 My.Computer.FileSystem.SpecialDirectories
获取各种标准 Windows 文件夹的路径,包括用户的文档文件夹。假设您正在创建 Windows Forms 或 WPF 应用程序,您可以使用 Application.StartupPath
获取当前应用程序 运行 来自的文件夹,然后使用它们创建文件或子文件夹路径Path.Combine
或 My.Computer.FileSystem.CombinePath
.
需要说明的是普通用户是没有权限在Program Files文件夹下写的,所以写到application文件夹一般是不行的。
我正在尝试创建一个可以分发给其他人的 exe 文件,但我想知道是否有人可以向我解释一下,如果我在我的程序中写入一个文本文件,然后创建一个 exe,那么当其他人使用时,是否会崩溃下载应用程序,因为我指向 c:user\source\programApp\repos\textfile.txt
有没有办法在程序中通用声明 textfile.txt?
在您的代码中,您应该避免将文件写入绝对路径。您的用户通常不太可能在他们的系统上已经存在相同的路径,并且您不能确定您的程序 运行 具有足够的权限来创建路径,如果它不存在的话。
相反,您有三个选择:
- 在本地编写 textfile.txt,即在与 exe 所在的同一文件夹中。
- 将您的 textfile.txt 写入相对路径,在写入之前始终小心检查该路径是否存在(并首先尝试创建它)
- 将您的 textfile.txt 写入标准用户文件夹之一(或您创建的子目录,如有必要)。为此,您使用
System.Environment.GetFolderPath
向其传递相关参数,例如Environment.SpecialFolder.MyDocuments
在所有情况下,如果 exe 运行 没有足够的权限将文件写入指定位置,您应该将写入的文件包含在 Try .. Catch
中,这样您的程序就不会崩溃。
您绝不能对文件或文件夹路径进行硬编码。您应该始终使用在 运行 时间解析的标准路径。您可以使用 Environment.GetFolderPath
或 My.Computer.FileSystem.SpecialDirectories
获取各种标准 Windows 文件夹的路径,包括用户的文档文件夹。假设您正在创建 Windows Forms 或 WPF 应用程序,您可以使用 Application.StartupPath
获取当前应用程序 运行 来自的文件夹,然后使用它们创建文件或子文件夹路径Path.Combine
或 My.Computer.FileSystem.CombinePath
.
需要说明的是普通用户是没有权限在Program Files文件夹下写的,所以写到application文件夹一般是不行的。