C#检查系统是否为64位Windows服务

C#检查系统是否为64位Windows服务,c#,windows,service,C#,Windows,Service,我创建了一个windows服务,希望检查系统是64位还是32位,检查后从我的服务器下载相应的文件。但我现在的代码不起作用 我正在使用 int system = IntPtr.Size; if (system == 4) { //the system is 32 bit WebClient webClient = new WebClient(); webClient.DownloadFile("http://www.myserver.com/updates/dll/bin.

我创建了一个windows服务,希望检查系统是64位还是32位,检查后从我的服务器下载相应的文件。但我现在的代码不起作用

我正在使用

int system = IntPtr.Size;
if (system == 4)
{
    //the system is 32 bit
    WebClient webClient = new WebClient();
    webClient.DownloadFile("http://www.myserver.com/updates/dll/bin.dll", "C:\bin.dll");    
}
if (system == 8)
{
    //the system is 64bit
    WebClient webClient = new WebClient();
    webClient.DownloadFile("http://www.myserver.com/updates/dll/64/bin.dll", "C:\bin.dll");
}

您可以使用属性检查操作系统版本是否为x64,而不是检查指针大小。

而不是使用IntPtr。请使用内置函数。MSDN说
它可以通过环境调用

你说它不工作是什么意思?
IntPtr.Size
是否总是返回
4
?@GáborBakos文件从未下载过…DownloadFile是,而不是路径。@stuartd我已经添加了路径,但仍然不工作服务是否有足够的权限写入C驱动器的根目录?