用C#编写USB驱动器便携式应用程序

我拥有USB闪存存储设备最喜欢的一件事是与我一起围绕一堆有用的工具。 我想写一些工具,并使它们在这种环境中很好地工作。 我知道C#最好,而且我的工作效率很高,所以我可以很快获得一个Windows窗体应用程序。

但是,在制作便携式应用时,我应该考虑哪些因素? 我可以想到的一些,但不知道答案:

1)语言可移植性 - 好吧,我知道任何我使用它的机器都需要安装.NET运行时。 但是,由于我只经常使用几台Windows机器,这应该不成问题。 我可以使用另一种语言来编写代码,但后来我失去了生产力,尤其是对于一个简单的表单设计师。 从闪存驱动器运行.NET应用程序还有其他问题吗?

2)读/写循环 - 在C#中,如何确保我的应用程序不会不必要地写入驱动器? 我是否总是能够控制写入,或者是否有我需要考虑的“隐藏写入”?

3)未解决的问题:是否还有其他与我应该知道的便携式应用程序相关的问题,或者是否对其他语言的建议具有良好的IDE,这将使我获得类似的生产力水平,但具有更好的可移植性?


  • 1)从闪存驱动器运行.NET应用程序不应该有任何问题。
  • 2)你应该控制大部分写入。 请确保您写入临时或硬盘上的其他位置,而不是闪存驱动器上。 但是写入周期不应该是一个问题 - 即使是中等到重度使用,大多数闪存驱动器都有数年的使用寿命。
  • 3)把它当作是任何具有xcopy样式部署的应用程序,并试图在你的应用程序正常失败的情况下解释,如果某些依赖项不在框中。

  • 如果您想使用com对象,请使用reg-free com并将com对象包含在您的程序中。


    您应该始终控制您的写入。 应用程序应该在启动时加载到RAM中,然后通过内存分配到RAM中,因此没有任何内容写入闪存驱动器。

    对于便携式应用程序来说最重要的是基本上不需要安装应用程序。 您不希望依赖于注册表值,特别是,因为您的应用程序不会在其他计算机上“安装”。

    数据持久性可能会考虑便携式应用程序的一个问题。 一般情况下,您可以写入用户的Application Data文件夹以保存数据。 如果是这种情况,则保存的任何数据将仅适用于该计算机上的用户。 如果您需要一些本地应用程序数据,您可能希望为您的设置创建一个Seralized XML文件,并将其存储在本地应用程序的目录中。 这个文件写作可能是你需要担心的唯一写操作。

    对于您的.NET可移植性问题,您还可以使用C ++编写一个小型入门程序,该程序检查计算机是否安装了.NET。 .NET有注册表值,您可以查看安装的版本,因此如果安装了.NET,请运行您的应用程序,否则会显示一条消息,指出需要首先安装.NET。

    编辑:我想补充一点,我在C#3.0中使用XAML为超声波机器做了应用程序开发。 我写的应用程序完全可以从USB闪存驱动器中完美工作,而所有用户设置都存储在本地AppData基础上,因此没有任何内容写入USB。 虽然可以通过.exe安装程序安装应用程序,但安装程序不会编写应用程序依赖的任何注册表值。

    链接地址: http://www.djcxy.com/p/68183.html

    上一篇: Writing USB Drive Portable Applications in C#

    下一篇: Chrome v23 didn't support viewport scale or viewport meta tag?