我是 C# 新手,我制作了一个简单的 Windows 窗体应用程序,它基本上更新了游戏的人员文件。
他们必须手动移动和删除某些文件夹,以便每次更改版本。我已经成功地做到了这一点。
但是,在我开始发布之前,我真的应该改进它。我知道我需要更改进程的名称并删除我的描述 ETC。
我偶然发现了一个错误,我认为最好从更有经验的人那里获得关于如何执行此操作的意见,而不是猜测。
我将使用 Inno Setup 为我的应用程序制作安装程序,这样我可以确定它将进入他们的 32 位和 64 位程序文件。所以我知道这将在程序文件中。
所以现在我想知道我是否以正确的方式做到了这一点?我正在使用这种格式来查找他们的程序文件:
string programFilesFolder = Environment.GetEnvironmentVariable("PROGRAMFILES(X86)") ?? Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
但是,这适用于所有 Windows 系统(XP、Vista、Win7、Win8)吗?它是否完全准确?我打算使用上面的,然后使用这个:
string PATCHSELECTOR = Path.Combine(programFiles, @"PATCH SELECTOR");
if (Directory.Exists(PATCHSELECTOR))
{
string GamereliteFolder = Path.Combine(programFiles, @"GAMERELITE~1");
if (Directory.Exists(GamereliteFolder))
然后我使用字符串方法移动文件。如果文件存在,则在我将文件从 PATCH SELECTOR 复制到 GAMERELITE 之前将其删除。
Windows XP 是否也支持使用嵌入了程序集资源的 .exe,这使得程序需要以管理员身份运行?我以前通过 UAC 使程序集工作,但是如果他们关闭了 UAC 或者如果它是 XP,那将不会总是有效,所以我想我会尝试使用管理程序集。
谁能给我一些见解,想法或链接?