Foreword
This is another article in a series on how I work with legacy devices, adding more features and making them easier to interact with. However, this time I did not take other people's developments and make them work, but wrote my own application, since there are simply no analogues for it.
I have always been worried about the convenience of installing programs on old devices. I have been keeping my FTP server for these purposes for a long time, and there are clients for almost all operating systems, but it's still not very convenient, especially for people who have not encountered FTP before. Therefore, about a year ago, I got the idea to create something like an application store, but somehow I still didn't have the time and desire and sufficient knowledge, perhaps. And in fact, the project includes not only WinMobile, but a bunch of different mobile and desktop systems, such as Symbian, Mac OS (classic), old versions of Windows, DOS, Palm ... in a word, everything that I have access to for debugs and which can be brought online. Why did I start with WM? Everything is very simple. It just so happens that my favorite programming language is C #, and WM has its own .Net,which, albeit with many restrictions, allows you to write applications.
It is also worth saying right away that even now the application is being launched, working and performing its functions, the project is still very crude, but I regularly work on it, add new functions and fix bugs, so I am glad to any suggestions, advice and simple error messages. At the end I will leave a link to the github.
How do you write for Windows Mobile now?
There are actually many ways, but in any case, you need the Windows Mobile SDK. I am using the version for WM 5.0, but it allows building applications for both WM2003 and WM6. I use Visual Studio 2008 as an IDE, but I saw manuals for connecting the SDK to studios up to 2017. With VS2008, this SDK works out of the box, so I just created a virtual machine with Windows 7 (because on Windows 10 such an old studio is no longer installed ), set up the studio and it worked.
Visual C++, C# .Net Compact Framework 3.5. Smart Device Project. SDK , ActiveSync .
, , , . . .
.
"" . , , ..
"" -> "". "" .
"" , .
, FTP- , . 3 : , . Net CF - FTP, . OpenNetCF.Net.FTP, . , "" .
zip-, . ICSharpCode.SharpZipLib. , WinMobile, DLL-, 2008 .
- . wceload Cab-. , , . exe , "" .
HKLM\Software\Apps.
In addition, I had to write my own folder selection dialog, the "About" window and some methods (for example, determining free space in memory), because they are also not among the standard Net CF functions.
Outcome
I wrote this article mostly to gauge people's interest in a project like this. Well, and draw attention to him, of course. Considering that this is, in fact, only the beginning of the path, I think there will be more articles about working on the manager and related things.
This project , like my other products, can be found on my github .
Perhaps that's all I wanted to say today.