这些天采用/要求.NET框架是否合理?


24

背景:

我有一个项目,我需要向用户提供一个下载包,其中包含一些敏感数据。数据需要加密。下载后,他们需要能够查看它(无需编辑)。对于这个问题,让我们将数据近似为一系列静态html文件。由于数据很敏感,因此在磁盘上的任何时候都需要对其进行加密。

我们正在考虑为用户提供下载选项,该选项将为他们提供一个包含两个文件的zip文件:

  • 数据文件(我们可能会在后台使用加密的zip文件)以及他们要求的数据
  • 一种查看数据的应用程序,该数据将适当提示输入密码,并处理数据解密并通过嵌入式Web浏览器显示。

额外细节:

  • 用户不受我们的控制。他们是消费者。
  • 我们不担心这个问题中的跨平台。这只是关于Windows。我们将为Mac用户单独下载。

已经解决了这个问题:

对于我们需要创建的应用程序,我们正在内部辩论该应用程序是否适合.NET winforms应用程序。我们需要一个.exe,并且我们希望下载量较小(例如100k)。

  • 敢于使用.NET框架吗(我们不需要使用特别新的.NET 2.0版本就可以了)吗?
  • 是否可以假设大多数消费者由于Windows Update而现在在其计算机上都装有.NET?
  • 问没有安装它的人是否合理?

我们知道不是100%的用户将安装.NET。真正的问题是让他们在这个时代拥有它是否合理

PS是否有人知道已经安装了.NET的实际百分比的可靠统计信息?


请记住,需要同时安装.NET 文件必须没有损坏/丢失。
GrandmasterB 2010年

别忘了处理Windows以外的其他操作系统的用户,他们是否拥有.net?
HLGEM

如前所述,@ HLGEM我们将为Mac用户单独下载一个下载,其中包含类似的Mac本地客户端。Linux用户将无法使用此可选支持来进行脱机数据访问,而只能在其Web浏览器中在线查看数据。
Erv Walter

Mac呢?
JeffO

错过了看那部分。
HLGEM

Answers:


15

默认情况下,Windows XP不包含任何版本的.NET框架。Vista和Server 2008包括.NET Framework 3.0,Windows 7和Server 2008R2包括.NET 3.5,Windows 2000无法支持.NET 2.0以上的任何版本。

考虑到这一点,它取决于您的目标受众所使用的操作系统。除了下载应用程序外,我还将在下载页面上突出列出该要求,并提供指向Microsoft Update / Downloads部分的框架下载链接。


7

我不知道问他们是否合理。但是,我确实知道客户通常是不合理的,因此我认为这并不重要。如果您要与数量有限的客户打交道,请询问他们。如果您要处理的客户数量超出了您可以合理地与之交谈的数量,或者您打算逐渐吸引更多客户,则只需确保他们在购买前就了解了需求。


7

您的用户使用哪个Windows版本?

如果是Windows Vista,则默认情况下将安装.NET 3;如果是Windows 7,则默认版本为3.5。来源

如果它们在XP上没有帮助,但是由于Microsoft刚刚停止了对SP2的支持,因此它们应该在SP3上。

如果使用“ ClickOnce”之类的东西(还有其他可用的安装程序),则可以将.NET Framework的相关版本作为前提条件,它将为您下载并安装它- 它不包含在安装程序中。如果您担心下载的大小,则可以转到.NET 3.5或4,然后将Client Profile(客户端配置文件)下载得小得多,尽管.NET 4版本更灵活。


公众中的任何人都可能是用户。我希望我们还会有一些人继续使用XP。
Erv Walter

4

前一段时间,我从Paint.NET上阅读了一些有关安装过程以及如何进行改进的文章。看看这两个博客条目。第一个描述了分别安装.NET Framework的尴尬;第二部分描述了作者如何将其集成为安装的一部分。

Paint.NET安装经验-第1部分,版本3.xx (旧的坏方法)
Paint.NET安装经验-第2部分,版本4.0 (新的好方法)

因此,即使您将需要.NET Framework,并且不确定用户是否拥有它,也可以至少以一种合理的方式至少将其安装与应用程序集成。


3

许多公司用户未使用最新版本的Windows(仍为XP),但我认为由于新硬件的出现,更多家庭用户已升级。下载和安装有点麻烦。该文件通常是每个客户端一次使用的文件,还是他们将来会继续获取文件?

您还有其他选择吗?受密码保护的Acrobat文件是否足够?阻止起来会容易得多:保存,打印以及复制和粘贴。

似乎您正在重新发明轮子,但我没有所有细节。


加密的PDF可能是一个可行的解决方案,我认为使用acrobat Reader(至少在Windows上)更为合理。我们正在努力避免重新发明轮子:)理想的解决方案是加密的zip文件,但是Windows不支持解密使用AES加密的zip文件,并且假设人们拥有WinZip的可能性比.NET小得多。
Erv Walter 2010年

PS这主要是家庭用户,他们会定期获取更新文件(即不仅仅是一次性下载)。
Erv Walter 2010年

我认为.NET解决方案会起作用。用户将拥有Acrobat,但我不知道您是否存在创建加密文件的许可问题。
JeffO

3

我通过跟踪针对.Net Framework 3.5 sp1的桌面应用程序在全球范围内的10000多个安装中的数据,对该主题进行了一些研究。只有一堆(大约10个)没有安装适当的框架。我从安装程序中删除了繁重的.net Framework安装文件,但尚未发现任何问题。

我强烈建议您在您的市场中进行同样的研究,并根据结果而不是对像这样的社区可能获得的答案来做出决定。


也许没有安装.NET的人永远不会打扰您的程序。您可能会限制自己的用户群,特别是对于不从程序的先前版本升级的新用户。
Lie Ryan

说谎,这就是为什么您需要进行OWN学习。我的客户群可能与您的客户群有很大不同。在线统计信息也不会帮助您。

不,我的意思是,如果您在自己的客户基础上进行研究,要么是他们正在升级(在这种情况下,他们已经有.NET),要么是新用户(在这种情况下,他们已经了解了您程序的需求)。无论哪种方式,研究自己的客户基础都可能倾向于使用.NET。当他们阅读您的程序所需的.NET并寻求其他解决方案时,许多潜在的新用户可能会被关闭。如果您以此为依据,那么您将限制自己的新客户群。
Lie Ryan

10.000只是对需求一无所知的新用户(他们没有发布,只是指向可执行文件的下载链接)。

1

取决于您的人口统计...

如果我希望任何人 [1]都可以使用它,那么我将整理一个可以在Win98和W7上运行的32位应用程序。

那可能意味着C ++ / MFC的东西。

[1]拥有12岁以下计算机且具有Internet连接且运行Windows 98+的计算机的任何人。


因此,“任何人”都不包括非Windows用户吗?-feels伤心,我nobody-
替代

@mathepic-发问者已经清楚地表明此问题与Windows发行版有关,并且他没有在此问题中询问过单独的Mac和Linux发行版。
Carson63000

1
或Delphi / VCL的东西-但使用旧版本。C / C ++不是Windows的唯一本地语言。甚至VB6(很抱歉发誓)。
格里

@Gerry:是的。:)在过去的8年中,我只是没有听说过Delphi有太多缠身的事情,所以我不习惯思考。
保罗·内森

确实。我一直用它工作了12年,我发现很难找到固定的工作,这是一个遗憾,因为它已经看到了许多增强功能(完整的Unicode,泛型,匿名方法(闭包))在过去的几年里,
格里


-4

如果您知道100%的客户没有它,为什么还要使用.net编写应用程序代码?

您可能已经使用Java并创建了Web启动应用程序。

但是实际上,您可以将.net框架与安装程序捆绑在一起。如果客户信任您安装应用程序,那么他还将安装.net。


7
Java Web Start应用程序将需要Java,而Java与.NET一样糟糕。而且我们不能在安装程序中包括.NET,这会使下载太大。如前所述,我们正在寻找少量下载(即100k或更少)。
Erv Walter 2010年

Java Web Start应用程序也很慢!
DL 2010年

您没有写有关100K下载大小的文章。
ckuetbach

抱歉,这个说法还不够明确(我将进行编辑),但是它的隐含含义是:“并且我们希望下载量尽可能小。”
Erv Walter 2010年

-6

只要确保您运送的软件包包含对所需版本的框架的依赖即可。然后,用户拥有的软件包管理器将提取必要的框架版本并将其安装在您的软件包之前。

哦,您所针对的操作系统的软件包管理系统非常糟糕,不能这样做?那应该是一个不好的操作系统。好吧,那么您只有一个选择:要求安装此框架,并提供链接供用户使用。如果开发人员所做的显着部分致力于与“标准”操作系统工具的无用兼容性,则我看不到用户会从中受益(这一次可用于修复错误和添加功能)。


就我所看到的这个答案(有点真实)如何被视为FUD而言,我看不到有人在解释低票...
替代

10
我的不赞成投票的解释:Pavel在回答这个问题时没有提供任何帮助,只是趁机打击了Windows。
Carson63000

1
更好的是,使用不需要大量库的语言即可生成任何有价值的东西,例如Windows上的Delphi;)
Gerry

1
@Gerry,整个观点是,开发人员希望使用他们知道的语言并发现它们具有生产力,这将提高他们的开发速度,并允许重复使用这些库中的工作。
P

1
在Delphi世界中,库(商业库和开源库)通常仅安装在开发机器上-一切(操作系统和第三方提供的DLL除外)都编译为单个exe。但有时OSS-C库被包裹在DLL文件从德尔福调用
格里
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.