I have a PDA device, I’m developing a WinForms application. I’m testing my application on simulator. Once finished my tests, I need to put a release version of the application on the PDA Device. I prefer to avoid the USB connection. Is that possible?
Thankful for your help.
Yes it is possible, as long as the device supports the version of the framework you are working with. You should, be able to drop the applications executable straight into a directory in the PDA, and run the program from there.
Related
This is a question related to Get OS-Version in WinRT Metro App C# but not its duplicate.
Is there any option to detect from a Metro application whether there is the desktop feature available on the system? I understand that detection of the OS version is not supported and that is OK imo.
However my metro app needs to know whether there is a Desktop available on the system it is running on.
By Desktop I mean extendable desktop - desktop, where 3rd party desktop applications can be installed. As we know ARM based units will have the desktop too, but only with Microsoft built-in programs.
Can I distinguish whether my Metro app is running on a ARM based tablet with non-extendable desktop vs on all other (Intel based) devices with extendable desktop?
After some more extensive search I found GetNativeSystemInfo method. The hint was right away on SO site - this question. This approach seems to be fully supported by Windows Store applications - the App Cert Kit test ran smoothly despite the fact that pinvoke was used.
I ended up with the following code:
[DllImport("kernel32.dll")]
internal static extern void GetNativeSystemInfo(ref SystemInfo lpSystemInfo);
internal static bool IsArmBased()
{
var sysInfo = new SystemInfo();
GetNativeSystemInfo(ref sysInfo);
return sysInfo.wProcessorArchitecture == ProcessorArchitectureArm; //ushort 5
}
This seems to be as a solution I was looking for. Please tell me if not or make me aware of whatever problems connected to such an approach. Thank you.
If this is HTML, you can use window.cpuClass to get if it's ARM, x86 or amd64.
A non dynamic version is to use target specific architectures rather than AnyCPU, and then use the flavours with #ifdefs to hard code it at build time. You have to submit 3 packages to the store, however.
Use a try {} catch(){} to access those libraries, if anything goes wrong assume the ARM version.
I have an order entry system which was developed using vb.net it uses an ms access database.
I think I might be able to use mono?
I'll need an IDE if possible.
Can someone tell me what I'll to download and what problems I might face, also any suggestions.
You can use MoMA to determine how well your application will run on Mono. It will analyze the app and tell you of any potential compatibility issues. As far as IDE goes, MonoDevelop would work, but depending on the compatibility with Mono, you might be able to just continue to develop it on Windows. Since Mono is just an implementation of the CLR you may not have to make any code changes at all.
Mono supports ODBC for database connections, but you would have to install an ODBC driver (Such as MDB Tools).
I think I might be able to use mono?
Porting applications can be tricky, generally it can go two ways:
- Get it running with minor tweaks.
- Stop trying and start developing from scratch.
MoMA helps, but you never know for sure until you try :)
Checkout MonoDevelop for Mac OSX:
http://monodevelop.com/
I've recently learned some basic Objective-C and have made a really simple "HelloWorld" application for development on iPhones (not through the AppStore, but Jailbreaked iPhones)
I've got my main.m file and Classes in my HelloWorld directory.
I have GNUStep Shell installed on my Windows Machine, the real question is:
How do I compile my HelloWorld Application so I can send it to my iOS device.
I really just want to get the compiled files and SSH it to my /Applications/ Directory to test it.
How can it be done? Thanks.
EDIT:
Alternatively, is there a way I can upload the SDK headers to my iPhone using SSH and compile my program on my iPhone?
Thanks.
Possibly it will be much more comfortable to use virtual machine with mac OS. In this way you will full development toolbox including debugger, leak tester and so on.
I'm looking to create an application that will be executed on a Mac machine, but I don't have one to develop on. I thought this would be a great opportunity to try and take advantage of the Mono runtime. I'm trying to figure out how to develop on a Windows XP machine and prepare a deployment package for an OSX machine.
I'd like to try and make the application have a UI since my users are not very technical. Is MonoDevelop the right tool to accomplish this? Should I be trying to use Windows Forms or GTK#?
Yep , you should use mono on windows directly with GTK# , but you'll need a few tweaks on mac so you'll need a mac eventualy. Your users will have to install the mono framework on their computer too, mono doesnt produce native Mac applications.
I love mono but if the end users are not very technical I dont think it is the right solution.
Anyway , the only way to develop some real multiplatform apps is Java, since it is pre installed on Macs so users will not have to download a framework to launch your apps.
Thanks to the gurus at StackOverflow. You guys are awesome. I posted on question on detecting idle time on a Compact framework application and got answers very quickly. When I tried the suggested solution on my Windows XP development box, I get this error
Unable to load DLL 'coredll.dll': The
specified module could not be found.
(On Windows XP)
After googling for sometime I understood that OpenNETCF libraries are trying to launch coredll.dll to detect the idle time but this dll is shiped with only Windows Mobile OS. As we are developing the application on a Windows XP PC and dont have access to Windows CE device now, we are struck with the problem.
Is there any way to get coredll.dll on Windows XP? Any other solution to this problem?
Updated: we are targeting the application for device running on Windows Mobile 6 Professional
I'm confused. The question was specifically about Compact Framework, which is for Windows CE. If you don't have your target hardware yet, then use an emulator.
In this specific case, the SDF is not P/Invoking to do this, it's using an IMessageFilter implementation. You could easily do the same for the desktop.
But that said, you simply can't develop a CF application targeting XP. What that means is that if you create your app using the full framework, targeting the desktop, and expect it to just run when you get your CE device, you're in for a big surprise. If targeting both OSes is a design goal, then there's a lot of work to be done, and most UI stuff is not transferrable (I'd actually recommend using different UI assemblies for the two targets and common business logic).
EDIT1
I guess to more fully answer the question of "can I get coredll.dll for my desktop?" the answer is a resounding "no". There are a multitude of reasons this wouldn't work (it's in ROM, it's hardware dependent, it's not actually a file, but fixed up to execute in place, it's compiled for a different OS, it may be compiled for a totally different processor, etc).
You have a couple options. You could try to create a desktop version of coredll.dll that exported all of the functions you want and proxies them to the kernel32, user32, etc DLLs. That's a boatload of work (been there, tried that).
You could try to write code that will work for both platforms. Doable, but also quite challenging.
The short of it is, unless you absolutely must target both, you don't want to try to. Get an emulator, virtual PC or some sort of eval system, and target that.
You can't run OpenNetCF in a Windows PC. You need to use a Windows CE emulator. This comes with the Windows CE SDK.
Write code that works for both platforms.
In our solution anything that is going to touch the platform is abstracted out to different objects. Therefore we have a IPlatformServices object (that returns stuff like IPowerManagement, IPrinter etc) we have two different implementations a PCPlatformServices and a CEPlatformServices and the one returned is based on the Environment.PlatformID value. In your scenario you want 2 different IdleDetector objects one for CE and one for Desktop. Aye its a bit of a pain to identify and abstract all this but you will need to do this is you want compatability between the two different platforms.
Our "PCPlatformServices" is mainly mocks in our case as we only want desktop compatibility to test things more quickly that don't interact with the hardware (like app code / business logic)