我应该只为Windows部署32位版本,还是同时部署32位和64位版本?


13

我有一个用编译语言编写的跨平台应用程序。

  • 对于Linux,习惯上可以同时使用amd64和i386版本,因此用户可以选择适合其当前环境的版本。
  • 在Mac中,习惯上制作通用二进制文件,因此它可以支持多个版本的Apple计算机。或者仅提供64位版本,因为当前所有的Apple计算机都使用64位体系结构和OS。

我不想让用户困惑,问“您使用的是什么体系结构?”,但是仅部署32位是个坏主意,因为该程序使用了一些64位优化魔术,并且在这些计算机上运行得更快。

我的想法:

  • 安装32位和64位版本的应用程序,然后在运行时选择。(需要包装程序,因此很难进行点击并启动应用程序(如uTorrent))。
  • User-agent在网站上使用来检测体系结构,以便用户可以自动下载适当的版本(并链接到“替代版本”)。(这是Google Chrome风格)
  • 强制用户使用32位应用程序并将64位版本设置为“仅限专家”?(如VLC)

在Windows中我该怎么办?


您的应用程序从64位进程中受益吗?
CodesInChaos

是的,它利用了加密库,该库在64位上运行速度更快。
亚历山大·希申科

快多少?
罗伯特·哈维

2
另外,Visual Studio中没有AnyCPU构建选项吗? blogs.microsoft.co.il/sasha/2012/04/04/…–
罗伯特·哈维

1
我应该提到,编译的是本机代码(我用C ++编写,没有C ++ / CLI扩展),而不是.NET。
亚历山大·希申科

Answers:


16

我真的不认为最终用户在下载时必须选择32位或64位选项的复杂性。但是,如果可以使用用户代理字符串提出建议,那就更好了。

另一个选择是让安装程序为用户的平台检测并安装正确的二进制文件。这样可以进行较大的下载,但是用户不必考虑它。如果采用这种方法,您将希望为用户提供某种方式来覆盖检测,以防他们出于任何原因需要特定的版本。


7
如果您的用户不是技术人员,那么您会向他们大声疾呼(无双关)。
user253751

3
@GrandmasterB非技术用户不会知道32位版本和64位版本之间的区别,也不会知道他们需要哪个版本。
Philipp 2015年

3
@Philipp可以通过添加两个简单的短语(例如“在大多数情况下都能正常工作”和“在某些计算机上可能更快”)来解决,就像许多下载站点一样。
5gon12eder 2015年

1
@Philipp:不,相反(第二种选择)。安装程序会自动选择正确的版本,无需显示任何技术信息。可能会有一个“扩展安装选项”按钮(但只要用户不按它,就不会显示32位或64位版本。)
Doc Brown

1
@ 5gon12eder实际上,64位版本将“在大多数情况下可以正常工作”。让我们看一下Steam Survey统计数据。它表明,超过83%的Windows计算机运行64位OS。
亚历山大·希申科

7

好吧,首先找出使用64位版本是否会有所帮助:

  • 处理的数据集是否足够大,需要64位地址空间才能工作?
  • 64位版本是效率更高还是更快?
  • 是否有任何对您的程序敏感的互操作性方案,更改接口使其对比特率不敏感不是一种选择,无论如何都不由您决定比特率?

如果答案是否定的,请考虑完全没有 64位版本。

现在,如果可以的话,使用64位有明显的好处:
使您的用户尽可能地舒适,而又不会不必要地惩罚那些知道的人。

  • 如果没有太大的开销,则提供一次下载,默认情况下会安装最佳版本(默认情况下会安装最佳版本)(允许使用命令行选项进行覆盖,或者对于希望在64位上构建32位版本的专家而言,此类下载)。
  • 否则,请提供两个单独的下载(如果使用64位的潜在优势足够小,则将其隐藏一点)。
  • 虽然您可以提供仅用于选择和下载所需部件的下载程序,但如果有大量可选部件,则可以将下载大小减小几个数量级,但请将其标记为在线安装程序,并也链接到脱机安装程序。
    (至少在没有提供完整的脱机安装程序的情况下,您可以(也许应该)允许重复使用下载的内容,并包括下载所有内容的选项。)

4

如今,人们和站点倾向于自行处理此问题,并让用户选择是否愿意。因此,使用User-agent字符串是一个好方法。也会使您的应用程序和站点看起来更专业的IMO(如果人们能够自己进行相关调整,则人们会更喜欢这些东西)。

放置选择版本的链接/选择是一件好事,因为某些专家或想要获得其他版本的人可以去获得它。

您还可以在“ 选择版本”页面上贴一个便笺(类似于页面),说明用户如何检查OS系统类型(又名右键单击Computer并选择属性等等),以便好奇的人可以检查并确定您提供的是正确的版本。

操作系统系统类型


3

有一个不包含可执行文件的32位安装程序。让它检测运行的目标平台,然后从服务器下载正确的二进制文件。


3
如果要这样做,请确保您还有可供专家直接下载的实际最终版本。许多专业的IT人员都希望能够设置脱机安装(例如,以便以后可以精确地复制安装)。
Jules

2
@Jules的另一个用例是断开计算机连接。即使在2015年,并不是每台机器都可以直接访问公共互联网。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.