【发布时间】:2012-10-01 06:28:01
【问题描述】:
我是 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,这将不会总是有效,所以我想我会尝试使用管理程序集。
谁能给我一些见解、想法或链接?
【问题讨论】:
标签: c#