闪存盘或笔式驱动器的应用程序 [英] Application for FlashDisk or Pen Drive

查看:73
本文介绍了闪存盘或笔式驱动器的应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人,

我需要开发一个驻留在笔式驱动器中的应用程序.用户将使用不带Internet的PC来打开它(脱机反手和Front应用程序都在笔式驱动器内),并随时更新他的信息.其次,他还将拥有一个在线帐户.他可以在在线帐户中更新他的信息.该应用程序将在联机和脱机数据库之间同步信息.

我的问题是?

1.作为C#.net中的应用程序(我必须使用),它可以在Apple Mac,Linux和其他平台上运行吗?
2.应用程序必须在Pen Drive中运行.它永远不会在用户PC或笔记本电脑上安装任何东西.有可能吗?
3.在线和离线数据库都应使用哪些数据库,这些数据库可以在Pen驱动器和所有平台(Windows,Mac和Linux等)上轻松同步并兼容.

在此先感谢...

Dear All,

I have a requirement to develop a application that will reside in a pen drive. User will open it using his PC without internet (offline backhand and Front app both will be inside pen drive)and Update his info whenever he want. Second he will have also an online account for it. he can update his info in online account. the application will synchronize the info between both online and offline database.

My question are?

1. As application in C#.net (i have to use) then could it run on Apple Mac, Linux and other platform?
2. Application Must run with in Pen Drive. It will never installed any thing on User PC or Laptop. is it Possible?
3. Which Databases should i use for Both online and Offline Database which easily synchronized and compatible in Pen drive and on all platforms(Windows, Mac and Linux etc...).

Thanks in advance...

推荐答案

请查看我的答案:

Please see my answers:

  1. 是的,如果您的应用程序做得非常准确,仅使用标准.NET库和一些有限的非标准库,则很有可能.

    在非Windows操作系统上,您可以使用Mono平台(CLR的另一种开源实现): http://en .wikipedia.org/wiki/Mono_%28software%29 [ ^ ], http://www.mono-project.com/Main_Page [ ^ ].

    对于一个重要的示例,System.Windows.Forms和ADO.NET是非标准库,但是Mono很好地支持它们.
    存在一些不兼容性,因此最好在Windows的Mono上进行测试.

    实际上,我在Windows上开发控制台和Forms应用程序,并且它们在Linux上无需重新编译即可运行.我有足够的经验来做到这一点,而无需在Linux和Mac OS X站点上进行调试.

    我也是在Mac上做的,但是由于Mac对外国"开发人员非常敌视,因此应用程序看起来也不是Mac OS X的本机.在Mono上有一个Mac专用库和特殊运行时,称为Monobjc: http://en.wikipedia.org/wiki/Monobjc [ ^ ], http://en.wikipedia.org/wiki/Comparison_of_database_tools [
  1. Yes, this is quite possible if your application is done very accurately, uses only the standard .NET libraries and some limited set of non-standard ones.

    On non-Windows OS, you can use Mono platform, an alternative Open-Source implementation of CLR: http://en.wikipedia.org/wiki/Mono_%28software%29[^], http://www.mono-project.com/Main_Page[^].

    For an important examples, System.Windows.Forms and ADO.NET are non-standard libraries, but are supported on Mono very well.

    Some incompatibilities exist, so it would be a good idea to start testing on Mono for Windows.

    Practically, I develop console and Forms applications on Windows, and they run on Linux without recompilation. I have enough experience to do it without debugging on Linux and Mac OS X site.

    I did it on Mac, too, but the applications do not look native Mac OS X citizen as Mac is very hostile to "foreign" developers. There is a Mac specific library and special runtime working on top of Mono, called Monobjc: http://en.wikipedia.org/wiki/Monobjc[^], http://www.monobjc.net/[^]. It is also Open Source and support almost everything on Max OS X and iOS in a native style.
  2. This is absolutely possible, but the prerequisite is .NET or Mono on Windows, Mono on other platforms, in version compatible with your code. Not to worry: those platforms are easy to install. As to .NET, consider it as yet another upgrade as OS. It''s becoming an integral part of Windows, you just need to upgrade it.

    Don''t even consider it as a limitation. After all, many program refuse to work on XP without SP3, and this is quite legitimate. Same thing is .NET.

    As to you .NET application working without installation — this is a best style of packaging; these days, it is highly encourages by Microsoft (finally!). You need to test the application to make sure it can work on any directory. This is quite easy.
  3. Selection of database is up to you. I would advise to use something based on client-server model (I mean, forget about file-server based garbage like Microsoft Access) and of course multiplatform.

    You have a pretty good selection:
    http://en.wikipedia.org/wiki/Comparison_of_database_tools[^].



—SA



—SA


如果您需要开发跨平台应用程序,则不必局限于.NET框架.

您还可以使用众所周知的Qt Framework:
http://en.wikipedia.org/wiki/Qt_%28framework%29 [ ^ ]
我已经使用了它,而且效果非常好.

还可以考虑使用新的Delphi XE2的FireMonkey:
http://en.wikipedia.org/wiki/Embarcadero_Delphi [ http://www.embarcadero.com/products/firemonkey [
If you need to develop a cross platform application you are not confined to .NET framework.

You can also use well known Qt Framework :
http://en.wikipedia.org/wiki/Qt_%28framework%29[^]
I have worked with it and its very good.

Also consider the new Delphi XE2''s FireMonkey :
http://en.wikipedia.org/wiki/Embarcadero_Delphi[^]

http://www.embarcadero.com/products/firemonkey[^]

Good Luck.


[回答在
[Answering follow-up questions placed in the comment to Application for FlashDisk or Pen Drive[^]:]

  1. XP SP3可以很好地将.NET Framework v.2.0安装到v.4.0.

    对于Mac OS X和Linux,您将需要绝对需要的Mono.在Mac OS X中,您可能要使用Mono + Monobjc.

    此外,为了方便测试和调试,最好在Windows开发计算机上安装Mono.
  2. 我不知道您在哪里需要什么服务或客户端部件.通常情况很简单:

    您可以开发分布式应用程序并使用CLR并开发与.NET和Mono兼容的应用程序,并在不同甚至同一台计算机上自由组合Mono或.NET.如果分发应用程序的两个部分通信,则可以在任何受支持的平台上在.NET或Mono下执行这些部分中的任何一个.

    顺便说一句,您不清楚离线"是什么意思?您是指仅本地网络,还是完全没有本地网络?如果没有网络,则您的客户端和服务器部件位于同一台计算机上.好吧,这当然是可能的.
  3. 我从未尝试过.从理论上讲,这是可能的,但可能会或多或少地困难.您需要学习设置的各个方面,得出结论并尝试看是否可行.

    问题是:您的主机系统不知道"可移动驱动器上的内容.通常通过系统注册表完成对已安装软件的绑定.您可能会想到类似临时安装"(仅注册表)之类的东西,但是我不确定是否有足够的文档来实现这种奇特的设置.我也不知道您想在哪里使用RDBMS的客户端或服务器部分,它应该代表离线".
  1. XP SP3 is good to install .NET Framework v.2.0 to v.4.0.

    With Mac OS X and Linux, you will need Mono, absolutely required. With Mac OS X, you might want to use Mono + Monobjc.

    Besides, for convenience of testing and debugging, it''s good to have Mono on Windows development machine.
  2. I have no idea where you want what services or client parts. In general, the situation is pretty simple:

    You can develop distributed application and use CLR and develop applications compatible with .NET and Mono, and freely combine Mono or .NET on different or even same machine. If two parts of distributes applications communicate, any of those part can be executed under either .NET or Mono, on any of the supported platforms.

    By the way, it''s not clear what do you mean "off-line"? Do you mean local network only, or no network at all? If there is no network, your client and server parts are on the same machine. Well, this is possible, of course.
  3. I never tried. Theoretically speaking, it could be possible, but can be more or less difficult. You need to learn all aspects of setup, draw your conclusions and try to see if it is possible.

    The problem is: your host system does not "know" what''s on a removable drive. The binding to the installed software is usually done through the system Registry. You could think of something like "temporary installation" (Registry only), but I''m not sure there is enough documentation to implement such exotic settings. I also don''t know where do you want to use client or server part of the RDBMS and what should it mean "offline".





对于ASP.NET Web应用程序,您也可以使用Mono.您应该将Apache HTTP服务器与名为"mod_mono"的模块一起使用.请参阅:
http://en.wikipedia.org/wiki/Apache_HTTP_Server [ http://httpd.apache.org/ [ ^ ];
http://en.wikipedia.org/wiki/Mod_mono [ http://www.mono-project.com/Mod_mono [





For ASP.NET Web applications, you can also use Mono. You should use Apache HTTP server with the module named "mod_mono". Please see:
http://en.wikipedia.org/wiki/Apache_HTTP_Server[^],
http://httpd.apache.org/[^];
http://en.wikipedia.org/wiki/Mod_mono[^],
http://www.mono-project.com/Mod_mono[^].

Both are also multiplatform and Open Source.

—SA


这篇关于闪存盘或笔式驱动器的应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆