Related
One of the biggest complaints with Microsoft's Compact Framework 2 (CF2 for short) (and, consequently, with programs relying on it - Hitchhiker, SMS Notifier, Webby, IBE Mail etc.) has always been its storage needs, which, by default, is some 5.4 Mbytes. See for example this thread for users' opinions on the memory consumption on CF2 and their subsequent not wanting to install it.
I've always tried to reduce the main memory load on Pocket PC - with great success. Just search for the word-start "relocat" in the Pocket PC Magazine Expert Blog and on my old homepage for some examples of them. No wonder I've also decided to look into this, so far, unsolved problem to greatly help my fellow Pocket PC users. And, after a day's work and testing, I can present you a 100% working solution, which has been thoroughly tested on four of my WM2003+ PDA's, all with success. This IS a big thing, considering that internal memory is still precious, even with most Windows Mobile 5 (WM5) Pocket PC's. (For example, most WM5 PPC's are shipped with 128M of ROM, of which in general 40-45 Mbytes is free.) The situation is even worse with pre-WM5 Pocket PC's, where the available RAM is very rarely (only with devices shipped with 128 Mbytes of RAM) over 50 Mbytes, from which CF2 takes away 5.4 Mbytes.
Note that this will work on all Pocket PC and Pocket PC Phone Edition devices that are able to run CF2 (that is, all WM2003+ devices, including WM5).
The complete tutorial
* create a directory on your storage card or, if you have, in the built-in File Store. (Note that the files, as they are surely not needed at boot time (unlike some Today plug-in DLL's), may also be relocated to a storage card. That is, they don't need to be stored in the more scarce File Store - if it's available at all; that is, if you have a pre-WM5 device). Let's assume you give this directory the name "DLLs".
* move the following files from \Windows to this directory:
cgacutil.exe
MSCOREE2_0.dll
netcfagl2_0.dll
netcfd3dm2_0.dll
GAC_CustomMarshalers_v2_0_0_0_cneutral_1.dll
GAC_Microsoft.VisualBasic_v8_0_0_0_cneutral_1.dll
GAC_Microsoft.WindowsCE.Forms_v2_0_0_0_cneutral_1.dll
GAC_Microsoft.WindowsMobile.DirectX_v2_0_0_0_cneutral_1.dll
GAC_mscorlib_v2_0_0_0_cneutral_1.dll
GAC_System.Data_v2_0_0_0_cneutral_1.dll
GAC_System.Drawing_v2_0_0_0_cneutral_1.dll
GAC_System.Messaging_v2_0_0_0_cneutral_1.dll
GAC_System.Net.IrDA_v2_0_0_0_cneutral_1.dll
GAC_System.Web.Services_v2_0_0_0_cneutral_1.dll
GAC_System.Windows.Forms.DataGrid_v2_0_0_0_cneutral_1.dll
GAC_System.Windows.Forms_v2_0_0_0_cneutral_1.dll
GAC_System.Xml_v2_0_0_0_cneutral_1.dll
GAC_System_v2_0_0_0_cneutral_1.dll
(netcf2_0license.txt can also be copied here - or just deleted.)
This means only Microsoft .NET CF 2.0.GAC and mscoree.dll needs to stay in \Windows. Never ever try to touch the former (Microsoft .NET CF 2.0.GAC). Even if you copy it back to \Windows (after starting any CF2-dependent app), CF2 won't work again until you reinstall it.
Copying the files can be done in several ways, of which I show the one way that requires no third-party apps, that is, without having to resort to, for example, the WindowsCE File System plug-in of the desktop-based Total Commander.
Start the built-in (Pocket) File Explorer and navigate to \Windows. Tap and hold an empty (not highlighting any file or directory) region anywhere (for example, the end of the list) and enable "View All files" in the context menu:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now, click the "Name" drop-down menu in the upper right corner; a "Sort By" list will be displayed, defaulting to "Name". Switch it to "Date":
Scroll to the region with filedates of Aug 26 and, with cgacutil.exe, 27, 2005 (this is the easiest way to find the files) and mass-highlight all files that are listed in the above list. Note that mscoree.dll should not be highlighted (as has been pointed out, it should be left in \Windows). Also note that the filedates of the current, 2.0 version of CF2 are all dated at Aug 26/27 last year. They will only have a different filedate if you've restored them from a backup. Then, they will have the timestamp of the restoration and you'll may end up having to hunting for them one-by-one, based on their name.
Now tap-and-hold the selection somewhere so that the context menu comes up. Choose Cut:
Go to the target directory (in this case, DLLs on your storage card); tap-and-hold an empty area and choose Paste:
The transfer of the files will start:
Note that you can also use other file handler tools on the Pocket PC; for example Resco File Explorer or Total Commander. In Resco, go to File/Options/Browser and make sure "Show all files" is chosen (instead of the default "Hide hidden files and files...") as can be seen in this screenshot.
* get a registry editor that is able to (flawlessly (!)) edit multiline strings (that is, all known, up-to-date registry editors except PHM Registry Editor and Total Commander; please check out The Ultimate Roundup of Registry Editors for the Pocket PC for a thorough explanation of why I don't recommend these two applications if interested). In this tutorial, I use Resco Registry Editor (Resco for short). It's commercial, but the 14-day, unrestricted trial version is fully sufficient for our purposes. Start it.
* First, we'll modify the so-called "System Path" (which is a bit similar to the PATH in traditional operating systems) so that it includes our new directory. To do this, go to HKEY_LOCAL_MACHINE\Loader:
Note that, in here, I've switched to "Tree Mode" in View/Show Tree View as can be seen in here.
Now, click SystemPath (highlighted in this screenshot); you'll be presented the following dialog:
Note that there may be some values already in the text input area in here. For example, if you've ever had SKTools or MemMaid relocate DLL's for you, the target directory will be in here. Also, by default (if you haven't ever touched the System Path), there may be a \Release\ or \windows\oem\ in here. These can be safely deleted as they're not used. You can, naturally, leave them in there; of course, then, you must make sure the new path is entered in a new row as can be seen in this x51v or this HTC Wizard (latest Qtek ROM) screenshot. Once again: you can safely delete them.
All you have to do is entering the full path of your new DLL directory in here. For example, if you've moved the CF2 files to a directory named DLLs on your storage card named CF-Card (Storage Card, CF Card, SD Card, SD-MMCard are also widely used), enter
\CF-Card\DLLs\
in here, as can also be seen in here:
Don't forget to add the leading and the trailing backslash characters (\)!
Now, click OK in the upper right corner and answer Yes:
In the list view, the new, just-entered value should be shown as can be seen in here:
Note that, again, if you want to keep the previous values of System Path, then, the new entry should be put in a separate row. For example, if the previous value of HKEY_LOCAL_MACHINE\Loader has been
\SD-MMCard\Programs\CrEme\bin\
\LOOXstore\DLLs\
then, you need to add the new value in a new row as can be seen in here:
* now comes a bit more complicated part. First, go to HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Global.
Note that, on some devices, in the above path, SOFTWARE may not (all) be uppercase. This varies from model to model and shouldn't be paid attention to. (Also note that I’ve added spaces after every backslash characters (\) in the above registry path so that the blog engine nicely renders it. In the reality, it should not contain any spaces!)
Here, look for names (on the left) that have 2.0 in them. Note that almost all values (except for CustomMarshalers, Microsoft.WindowsMobile.DirectX and Microsoft.WindowsMobile.DirectX, which have all been introduced in CF2 and didn't exist in CF 1.x) seem to be duplicated and their name will start with the same (Microsoft.*, mscorlib.*, System* etc.); it's only after this that they start to be different. One set of them will continue in Version=1.0, the other set will continue in Version=2.0. The only exception from this "must contain Version=2.0" law is the value starting with "Microsoft.VisualBasic, Version=8.0.0.0" (that is, 8.0 instead of 2.0).
In all these Version=2.0 values, you'll need to modify the original path referring to \Windows to the new home of the relocated files - for example, in our case, \CF-Card\DLLs.
In order to be able to see this as easily as possible, enabling Show Header in the View menu is highly recommended, as can be seen in here. Then, you'll be able to greatly increase the displayed length of the value names if you drag the header to the right. Of course, switching to Landscape and/or VGA mode (if possible) is highly recommended. Then, you'll be able to see the version number in all the values. For example, this screenshot shows a QVGA WM5 device in Landscape - here, it's also possible to increase the width of the "Name" column so that the version number can also be seen without having to click every value.
All you need to do is just click all the values that have Version=2.0 in their name (except, as has already been pointed out, the 8.0 Microsoft.VisualBasic) and just change \Windows to the new value in the first row. An example of this:
before:
after:
Another example of a changed value (WM5, QVGA device, with files relocated to \Storage Card\_):
and with the VGA x51v in standard VGA mode:
Note that, much as it refers to the main storage (\Program Files\.NET CF 2.0\), you don't need to pay attention to the second row in all these values. Just leave them there.
Consider using a PC-based Pocket PC controller tool to do this (please read this article for more info on them if not sure). Using them, you can speed up the registry modification by orders of magnitude, particularly if you use copy/paste to insert the new directory path.
After you've modified all the affected values, check once more if it was successful. Fortunately, you'll see all the names (showing that a given value is 2.0-specific) and values (showing whether it refers to the original \Windows directory in the main storage or somewhere else) on the same screen as in this screenshot.
You may also want to export the just-modified branch to a registry (.reg) file. Then, in case you reinstall CF2 and want to avoid hand-editing the entire stuff, you'll only need to reimport this file. To do this, tap-and-hold Globals in the upper, tree pane and choose Export:
On WM5 devices, you will also want to make sure the changes are flushed back to the ROM (as the Registry is kept in RAM and changes are rarely flushed back to ROM, which will result in a simple soft reset getting rid of all changes and, therefore, CF2 not working after the relocation). To do this, on many WM5 devices (like the HTC Wizard), just long-press the Power button. On some other devices, you must explicitly configure the device to shut the PDA completely down upon a long-press (instead of just dimming the screen). For example, on the x51v, you must go to Settings/System/Power/Power Button and enable "Full power off" instead of the default "Dim/light the display" as can be seen in this screenshot. You'll only need to power off your PDA for some seconds because it's before shutting it down that the Registry is flushed back to the ROM; that is, you can safely switch it back on instantly.
Congratulations! Now, the relocated CF2 will be working! If you've modified the System Path, you'll need to reboot; otherwise, you can start your CF2 apps right away.
Advanced remarks for geeks/advanced hackers
* Exporting, editing and re-importing the contents of HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Global (so that you can much easier change all occurrences of \Windows to the new path) just won't work because the values in here are multiline strings, which are exported as hexadecimal values by all export-capable Pocket PC-based registry editors (I've checked this!) like in here:
* The \Windows paths in HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Reference (note that the last word is Reference, not Global!) don't need to be modified. Actually, you can even get rid of the entire subkey because it's not used at all.
* Technically, the GAC*.dll files don't need to be in the System Path; it's only with the other files (cgacutil.exe, MSCOREE2_0.dll, netcfagl2_0.dll and netcfd3dm2_0.dll) that must be. That if, you have already set up a relocated DLL directory somewhere in the System Path, you can safely move the files to there. It's in order to be as easy as possible for a novice user that I've instructed copying all relocated files to the same directory in the System Path.
one better make damm sure that one dont have any .net programs running when the pda is off too
because then the SD interface get shutdown to save power
and then programs which are running which depend on the framework crash and burn
Rudegar said:
one better make damm sure that one dont have any .net programs running when the pda is off too
because then the SD interface get shutdown to save power
and then programs which are running which depend on the framework crash and burn
Click to expand...
Click to collapse
Yup, but you can also play with PNPUnloadDelay to avoid problems because of this (see http://www.pocketpcthoughts.com/forums/viewtopic.php?t=44488 for more info).
how does this method compare to the way the new beta allows GAC to be installed to the storage card?
http://www.microsoft.com/downloads/...53-a418-42d9-a481-19ba3ceca1a6&displaylang=en
from what another user told me, the beta allows you to install about 80% of the framework to the storage card.
-jeff
jeffreii said:
how does this method compare to the way the new beta allows GAC to be installed to the storage card?
http://www.microsoft.com/downloads/...53-a418-42d9-a481-19ba3ceca1a6&displaylang=en
from what another user told me, the beta allows you to install about 80% of the framework to the storage card.
-jeff
Click to expand...
Click to collapse
Yes !!! Thanks for the council.
Before with the previous version of net framework 2 my free memory was of 25,80 Mb.
After to have installed the Sp1 new beta on the Storage Card is of 29,78 Mb.
Hi Menneisyys. Would MUCH appreciate your guidance;
I'm using a ROM image that works great - except that the CF 2.0 SP1 installation is buggy. I can't de-install it as it's not in my installed apps. Any idea what files I need to delete so the install proggie thinks it's gone and does a reasonable re-install? Currently the install proggie says "you already have this verison installed".
craigiecraigie4 said:
Hi Menneisyys. Would MUCH appreciate your guidance;
I'm using a ROM image that works great - except that the CF 2.0 SP1 installation is buggy. I can't de-install it as it's not in my installed apps. Any idea what files I need to delete so the install proggie thinks it's gone and does a reasonable re-install? Currently the install proggie says "you already have this verison installed".
Click to expand...
Click to collapse
Unfortunately, it's not only files but also registry entries. Try deleting all the above-listed, 2.0-only (don't touch the CF1-specific ones!) registry entries.
Do you have WM5 or a previous OS? If you have the latter, I can send over an .unload file and a registry import so that you can directly delete these without any manual registry editing.
Menneisyys said:
Unfortunately, it's not only files but also registry entries. Try deleting all the above-listed, 2.0-only (don't touch the CF1-specific ones!) registry entries.
Do you have WM5 or a previous OS? If you have the latter, I can send over an .unload file and a registry import so that you can directly delete these without any manual registry editing.
Click to expand...
Click to collapse
Hi Mennei, I'm on WM5 and would TRLUY appreciate a .unload file! Thanks a stack.
craigiecraigie4 said:
Hi Mennei, I'm on WM5 and would TRLUY appreciate a .unload file! Thanks a stack.
Click to expand...
Click to collapse
Unfortunately, you can't easily hack WM5 (as opposed to pre-WM5 OS'es) to think it has a program installed - you don't have write rights on \Windows\AppMgr and, tehrefore, can't copy the (un)install DLL there. That is, with WM5, it's, to my knowledge, not possible to automatically remove stuff.
Menneisyys said:
Unfortunately, you can't easily hack WM5 (as opposed to pre-WM5 OS'es) to think it has a program installed - you don't have write rights on \Windows\AppMgr and, tehrefore, can't copy the (un)install DLL there. That is, with WM5, it's, to my knowledge, not possible to automatically remove stuff.
Click to expand...
Click to collapse
hmmm.....
maybe if you installed a "dummy" program that would reference the appropriate uninstall file for CF2.0?
just an uneducated noob suggestion. (feel free to educate me! i'm always eager to learn)
blazoner said:
hmmm.....
maybe if you installed a "dummy" program that would reference the appropriate uninstall file for CF2.0?
just an uneducated noob suggestion. (feel free to educate me! i'm always eager to learn)
Click to expand...
Click to collapse
It might work.
CF2 late question
I know there has been no action on this thread but as a late commer I was wondering if the CF files can be copied and included into the extended ROM (instead of the storage card) and then flashed onto the device?
mnazmi said:
I know there has been no action on this thread but as a late commer I was wondering if the CF files can be copied and included into the extended ROM (instead of the storage card) and then flashed onto the device?
Click to expand...
Click to collapse
Yup, I think so - after all, when unlocked, the extended ROM is just another drive in the file system. WHEN unlocked, I think.
FYI
i downloaded the .Net CF2.0 SP1 fr http://www.microsoft.com/downloads/...88-59e2-4eba-a70e-4cd851c5fcc4&DisplayLang=en
i selected Storage Card during the installation. all GAC* files are installed automatically\directly onto my Storage Card\Windows folder. when i checked on HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Global, all 14 2.0 and 8.0 entries are already with the correct folder path (\Storage Card\Windows). therefore, i only needed to move 4 files below onto the \Storage Card\Windows folder, and added value Storage Card\Windows\ into the SystemPath in HKEY_LOCAL_MACHINE\Loader
cgacutil.exe
MSCOREE2_0.dll
netcfagl2_0.dll
netcfd3dm2_0.dll
thanks for the tips!
Hewlett-Packard’s calculator series, while in no way as popular or standardized as the emulators of Texas Instruments (please see THIS for the one and only COMPLETE overview of emulating the latter calculators on Windows Mobile), indeed have their place under the sun. What is more, they have way better emulators under Windows Mobile that TI.
Note that, as with the above-linked TI article, you may want to read this roundup and actively follow the for example Wiki links. Higher-end HP calculators (as with those of TI) can easily be better than any native calculator and/or unit converter on Windows Mobile (WM for short), let them be traditional touchscreen-enabled Pocket PC's (Windows Mobile 6 Professional / Classic models) or no-touchscreen Smartphones (Windows Mobile 6 Standard) devices. Furthermore, which should also be taken into account, the majority of these emulators can freely be used (as opposed to mostly commercial native WM calculators) – with the highest-end HP models even when you don’t actively own the original calculator. I provide you with all the necessary manual links so that you can easily find out more information on a given model – that is, you don’t even need to own the (original) manuals. Hats off to HP (as opposed to TI) for being so generous and providing the ROM image of their best calculators and allowing for using them even if you don’t own the original calculator!
As usual with most of my roundups, you simply won't find a better, more thorough source of the subject. This is particularly true of my first-hand information on MS Smartphone (Windows Mobile 6 Standard) compliance. That is, if you're lucky enough to have a newer, high-resolution (QVGA) Smartphone and look for a decent calculator compatible with your device, make sure you read this article - you won't find "hacking" tips like these anywhere else.
Let’s start with the most popular 48/49 series, which many consider even better than the top-of-the-line Texas Instruments calculator series, the TI-89.
1. Emulating HP-38G/39/40G/48GX/48SX/49G
The HP-48 and HP-49 series are no doubt the best calculators ever manufactured by HP. They are not only graphing calculators, but also support CAS (read THIS for more info on this very subject). Should you want, in addition to, say, the Wiki pages, a guide to the different models and their target audience, also check out hpcalc.org’s Calculator Buying Guide.
Also note that, in 2000, HP ACO allowed the use of the HP38, 39, 40, 48, 49 ROM's even if you're not an owner of this calculator type (see for example THIS for references); that is, you are free to use this emulator even if you don’t have the original calculator(s). This is great news, particularly given that the manuals of the calculators are also available online.
Fortunately, the Pocket PC emulation of all these models is very strong (no bugs, hi-res VGA support, object export/import supported on Windows Mobile too etc.), as opposed to that of TI calculators.
1.1 Download, installation, configuration
First, you must download and install the original Emu48CE (alternate download HERE; homepage HERE. Here, click Emu48CE on the left and, then, Downloads at the top.) Emu48 is THE emulator for these models. It’s so good some have even tried to sell it on Handango (needless to say, it’s free).
Make sure you install all the ROM’s you want to use on the when prompted as, by default, it only installs the 39G ROM’s as can be seen in HERE. Note that you MUST untick the “Install Emu48 on PDA (required)” checkbox as can be seen in here (it also shows I’ve enabled installing all the other ROM’s). (If you forget to untick this checkbox, don’t try to click the newly created GNU Emu48CE icon in Start/Programs. Instead, just go to Start/Settings/System, click Remove Programs and select "GNU Emu48CE V1.23". Click Remove and, then, Yes.)
Note that the ROM files are installed by separate CAB installers; therefore, you won’t want to automatically dismiss the “Please check your mobile device screen” dialog of the desktop ActiveSync installer before the installation of each module is finished to avoid messed-up installment (for example, ROM images installed to the built-in storage instead of the storage card because the default setting under WM5+ is the latter).
Now, go to the Christoph Giesselink’s (the leader of the emulation project) homepage HERE. You’ll need to download at least (two if you have a QVGA device) two files:
E48MB113 (should the direct link be broken, just go back to the homepage and look for something like “The executable package of Emu48 v1.13 for Pocket PC 2002, Windows Mobile 2003 (SE) and 5.0 (ARM platform).”, where 1.13 will be increased.
the ZIP file linked at the end of the description of the same program (“Already patched KML files (from Emu48CE without bitmaps) can be found here.”)
Decompress the contents of both ZIP files. Copy the decompressed files to the home directory of the emulator (it’s \Program Files\Emu48 when installed to the main storage – note that you will want to prefer installing the emulator to storage cards on models with little built-in storage because the ROM images take up a lot of memory). Make sure you overwrite ALL the original KML files!
Now, on a file explorer tool (for example, the built-in File Explorer) go to the same director right on your handheld and tap the just, manually transferred Emu48.ARM.CAB. This will create a new, Emu48 icon in Start/Programs (with WM5+ devices; with pre-WM5 ones, it’ll be right in the Start menu) – you can tap it right away.
Upon starting the emulator (or, when you choose File / New), you’ll be offered the choice of selecting a new so-called 'KML script'. I’ll elaborate on these scripts a bit more later; now, suffice it to say that they tell Emu48 which ROM to load and what keyboard bitmap to use. Note that the default files are optimized for QVGA (I’ll elaborate on VGA issues later) and most of the titles also contain the emulated model version; that is, it’ll be pretty easy to select one. (Of course, you can always experiment with the alternatives as the more popular and recent calculator models (48/49) have more than one KML file, all with different layout. That is, do experiment with them - it's certainly worth it.)
Let’s assume you want to emulate the 49G; therefore, let’s select one of the alternatives, “HP49G for Emu48”:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now, click the OK button at the top right of the dialog (to the left of the X button). If nothing seems to happen, repeat this. You’ll be presented the results of the script compilation; if everything is OK, you’ll also see no error messages at the bottom of the scrollable text area and another OK button. The GUI loads and you can start working right away.
The KML script compilation process may encounter problems, particularly if you download additional KML scripts. You will want to do the latter to, for example, have a high-resolution VGA button layout on your VGA handheld, not just a low-resolution, ugly, blocky QVGA one. The two most common errors are the lack of the ROM file to load and the lack of the keyboard bitmap files:
When the ROM is missing, you will get the error message “This KML Script doesn't specify the ROM to use, or the ROM could not be loaded.”. If you don’t want to do some blind guesswork, just look into the associated KML file (with “HP49G for Emu48”, it’s in the file hp49.kml – just look for the “Title” at the top of each KML file to quickly find the associated source file) and look for the section defining the ROM; that is, the Rom parameter in the Global group at the top:
This states that, for the KML file to work, it needs a "ROM.49G" file in the same directory. Look around for the file – for example, reinstall it using the Emu48CE installer.
Missing bitmap files, for example, the lack of a “hp49.bmp.png” file in the home directory of Emu48, will result in receiving the compile error “Cannot Load Bitmap hp49.BMP” Fixing this problem, in general, only involves reinstallation and/or Googling for the given BMP layout file.
Finally, you may also encounter warnings (NOT fatal errors! That is, the compilation succeeds!) like “Patch BEEP.49G is Wrong or Missing”. These warnings can safely be ignored as these beep files only add beeping capability to the emulator – something you don’t necessarily want. If you DO need these files, however, you may find them all in the official, free HP SDK (details HERE, should the direct link refuse working) and copy emu\beep.48 / emu\BEEP.49G to the home directory of the emulator. Note that, alternatively, you can also find these beep files in the additional VGA skins, explained in the following section.
1.2 Additional KML files (a must for VGA users!)
The default keyboard skins coming with Emu48CE are QVGA only. If you have a VGA device, you’ll need to download the following skins:
Wombat3 for 48 SX and GX
HP49VGA for 49g
Just unZIP these files and transfer all the KML and bitmap files to the home directory of the emulator. After this, upon selecting a new KML file, you’ll also be shown these files as can be seen in HERE (Beemer’s 49G skin) and HERE (the Wombat3 GX skin). In action, they are indeed very cool as can be seen for example in HERE and HERE. Much prettier than low-res QVGA skins, aren’t they?
Note that if you don’t like the original (white) Wombat3 48GX script, you can also give a try to the dark, much more "natural" Juan Pardo scripts HERE. It’s not only more “natural”, but also contains some new, useful buttons in the upper left area of the screen. Example screenshot HERE.
There are several Landscape skins too (unfortunately, not in VGA – that is, for example HTC Universal / Athena users are left in cold. By default, the VGA skins aren’t Landscape-compliant.)
1.3 Usage
After all the hurdles of the installation (and, if you’re a VGA user, the additional installation of VGA skins), you can rejoice: the rest is much easier and there are no known problems with the emulator running on a Pocket PC (WM Classic / Professional), unlike with the TI emulator.
If, on the other hand, you only have a MS Smartphone, don’t expect much: while (after manually extracting and installing the files) the emulator itself starts, you can’t go any further from the KML selector screen (tested on the QVGA HTC Vox in both orientation modes; screenshot HERE and HERE).
The emulators can be used in exactly the same way as the original calculator. The only difference is the lack of the “physical” expansion like SD cards / connectivity. However, there is connectivity emulation in the emulator.
1.3.1 What if you don’t know the original calculators?
The documentation / manuals of all these models are available online. See the following links:
49G+ / 48II docs
It’s also linked from this generic page, with manuals of previous models too (note that the HP39 link doesn’t work; use the one HERE instead). I especially recommend the HP48 manual HERE if you’d like to more closely learn more about the system. Note that, however, you don’t necessarily need to read it; my tutorial will be sufficient to get you started and even load third party apps into the emulator. Only check it out if you really want to learn more about these excellent calculators.
1.3.2 Uploading third-party software in the emulator
Get the software title, start the emulator, make sure it doesn’t do anything and, in the desktop version grab the binary distribution (it’s, in most cases, ends in .lib file) to the emulator image. In the Windows Mobile version, select Edit / Load Object and select the file. Note that as, on Windows Mobile, Emu48 uses the system-level, default file dialog box, you may want to put your files in either \My Documents or in the root / the first subdirectory of your storage cards in order to be seen. Alternatively, you may want to install Mad Programmer’s free, excellent File Dialog Changer as is explained in for example HERE. In here, I’ll go on with showing you desktop Windows screenshots; after loading an object, it must be saved into the local memory using exactly the same steps as on the desktop Windows.
In this example, I show how the single PSYCH13.lib file of the HP-48GX version of Psychro needs to be deployed.
To make absolutely sure a given program file can be deployed in the emulator with simple (object) drag and drop, look into the beginning of the file. If it is indeed binary and starts with HPHP as for example in this example:
then, it’s compatible with this transfer model. (Otherwise, for other types of resources like additional GIF files with, say, games like the 48 port of Prince of Persia, you must use the MUCH more complicated terminal emulation. I don’t elaborate on the latter as most math libraries – the files that you most probably want to run, as opposed to games – come as standard LIB files deployable this way.)
After dragging, you’ll see something like THIS.
Now, you will need to store the uploaded program in one of the so-called “ports”. It’s how HP refers to different memory types. Port 2 is, for example, the emulated SD cards in the 49G+ (and the 50G), the highest-end 49-series model(s). With other devices, only port 0 and 1 are accessible; of the two, you’ll want to use the latter.
To do this, just press 1 and, then, STO (the second button in the second row on the 48GX). The stack list will be cleared, showing the object was indeed saved.
Now, switch off the device (the green button and ON; both are at the bottom right) and, then, again on (the lower left ON button). Press the green button again and, then, 2 (LIBRARY). You should see the title “PSYCH” in the title area at the bottom (also see where the mouse cursor stands in the screenshot!). You can click it (two times) to start it (screenshot of the running app HERE).
You can add a lot of other apps in the same way: when no program runs, just drag-and-drop the program, click 1 and STO, switch off and on the machine and voila: the new program is ready to run and listed in the Library section, next to earlier deployed libraries (screenshot of running HERE).
1.3.3 Downloading additional software
The best source of additional software is the archives of hpcalc.org. See THIS for HP48 and THIS for HP49 software.
Just an example of some famous libraries directly deployable on a 48 (from the Symblic Math category)
Erable 3.024
ALG48 4.2
In addition, there are other pages to acquire software from; for example, that of Savage Transcendental Studios. This page contains some additional database / Japanese studying 48GX/49G(+) apps. Some of them are simple libraries (for example, the 48G version of Kana Tutor and Psychro), which can be loaded straight into the desktop emulator via simple drag-and-dropping and, to the Windows Mobile one, by simple object importing. These programs are also accompanied with PDF files explaining how this needs to be done.
2. HP-41; dedicated website
There is only one, free emulator to emulate these old, alphanumeric calculators, eV41. It’s currently at version 0.93 and it’s highly unlikely it’ll be developed further (it was last modified over five years ago). Not that it’d be THAT important: for example, it supports loading user code even in current form.
Note that in order to access the WM version, you’ll need to register yourself! Also note that this distro also contains the desktop Windows emulator.
Fortunately, using this emulator is pretty straightforward and there are no known problems / bugs running it on any platform, except for the lack of Landscape (don’t try relying on scrolling because, as with the TI emulator, it’ll result in bitmap problems as can be seen in HERE) and Smartphone (a “hacked” version of ev41 doesn’t find some DLL) support.
3. HP17B/17BII/19BII/27S/28S/42S: emu42
(current desktop and Pocket PC version: 1.09 and 1.08, respectively; note that the page at hp42s.com lists OLD versions. HERE is the manual.)
As with later calculators (the above-introduced emu48 and the HP38/39/40/48/49), there is an all-in-one emulator for the HP 17B, 17BII, 27S, 28S (1988, semi-graphical: 137*32), 42s (weaker Wiki page HERE; released in 1989; still WAY worse than the TI-89 – for example, no real graphing).
It uses exactly the same approach to KML files / skinning as emu48; that is, if you do read the emu48-related first chapter, then, you won’t have problems deploying for example new, additional skins from the homepage (for example, the VGA 42S skin, SKN42SMV - since version 1.02, it also supports VGA resolution). Fortunately, as opposed to Emu48, it requires no tricks when installing – no need to manually copying KML files etc.
Note that, unlike with Emu48CE, you must download the ROM’s from your calculators manually – they aren’t available on the Web (don’t even try to run a Web search for the ROM names in the KML files.) If this is a problem and you need to emulate the 42s, I have some great news for you: there is another 42s emulator, Free42, which does not require a ROM image.
4. HP42s: Free42 1.4.36.
As has already been mentioned, as opposed to Emu42 discussed in the previous chapter, this emulator does not require a ROM image and may be used even if you aren’t a rightful owner of the original emulator.
There are two versions of the emulator: decimal and binary. The latter is much faster but, because of the internal representation differences, may not work with some legacy applications. If this is not a problem, install the binary version (copy and execute it there to install). Also see the section “What's the deal with the "Decimal" and "Binary"?” in the README.txt coming enclosed in the ZIP archive. The two versions can co-exist without problems on the same machine and, therefore, you can always go back to the decimal version, should a given application refuse running.
(the same with the “realistic” skin, which is pretty blurred because of the low resolution)
Note that, as with the ROM’s, the original, official manual of the 42s isn’t available on the Web either (as opposed to the 39G/40G (CAS)/41C/48G/49G+ series with manuals online); however, there’s an unofficial ‘fan’ manual HERE. The latter manual is very easy to understand – actually, I’ve found it much easier to comprehend than HP’s official manual.
Compatibility-wise, you can use the numeric keys of devices with built-in keyboard. It’s not compatible with the Landscape mode. It’s capable of importing / exporting programs. And, finally, good news for QVGA Smartphone users: if you copy the executable file(s) (after manually extracting it/them from the CAB file(s)) to your phone, it’ll run flawlessly. The numeric (phone) keys will work OK; for the rest of the keys to access, you’ll need a cursor emulator like SPHelper. Example screenshot or it, running on my HTC Vox / s710 (the cursor is that of SPHelper):
Of course, this only applies to QVGA Smartphones - traditional (176*220) models will only show part of the skin and are, consequently, useless.
5. HP-16C
This calculator, mainly meant for computer programmers needing for example binary / hexa conversions, was manufactured between 1982 and 1989. Also see THIS for an intro to this model. It only has one emulator, CP16 (direct download links HERE); the current version is 0.326.
Installing and using this emulator is pretty easy: you download the above-linked ZIP file, extract cp16_ppc.exe from it, transfer it to your Windows Mobile device and start it from File Explorer (you can, of course, put a link to it into \Windows\Start Menu\Programs).
Compatibility-wise, it’s not Smartphone-compliant. It has built-in support for Landscape (View / Landscape); for it to work, you must start the calculator in Portrait mode because the emulator only rotates the GUI for itself, not on the OS level. This also means you won’t be able to use it in left-handed Landscape mode (the native mode for the Universal, Wizard, TyTN / Hermes and all other Pocket PC’s with a slide-out keyboard) unless you use a third-party hack to rotate the Portrait screen with 180 degrees before starting.
6. HP-10B Plus (business), HP-12C (financial; is still being manufactured (since 1981)) and HP-15C (advanced scientific)
I elaborate on these three calculator models in the same chapter because they are emulated by very similar, commercial emulators by Lygea Calculators. They are self-standing applications meaning you won't need to hunt for / download ROM images.
These emulators are as follows:
Pocket 10B SE Business Calculator 2.0; ($19.95) (WM6 VGA screenshot)
Pocket 12C SE Financial Calculator 1.61; $23.95 (WM6 VGA screenshot)
Pocket 15C SE Scientific Calculator 1.22; $20.95; WM6 VGA screenshot:
Using and the compatibility / features of these three emulators are pretty similar. For example, all of them support the Landscape orientation (example of the 10B emulator HERE) and use hi-res on VGA devices and, generally, look “cool”.
Note that all these emulators store their resolution-dependent resource DLL’s into \Windows, which isn’t the best news for users of some non-native WM5 models updated to WM5; for example, the HP iPAQ hx4700. Unfortunately, relocating these files to the app’s home directory won’t work (haven’t tested the same with relocating to another directory on the System Path - it might work).
Smartphone compliance-wise, the hacked (EXE + DLL’s in \Windows) version, unfortunately, doesn’t display the three bottom icons for going further (and clicking around won’t help either). That is, while you can enter the reg. number (with a cursor emulator like SPHelper), you just can’t go further. This means no (hackable) Smartphone compliance.
6.1 Pocket BizCalc by Odyssey Computing, Inc. 4.0.09
The 12C is also emulated by Pocket BizCalc by Odyssey Computing, Inc. It’s pretty OK and considerably cheaper ($14.95) (but much uglier, non-Landscape-compliant and not making advantage of hi-res resolutions) than the Lygea emulator.
Note that Michu’s Emupage only lists the H/PC and the Palm-size PC versions. You won’t want to get any of them: the H/PC version has major screen rendering problems (for example, the original LCD screen is invisible; see THIS and THIS if interested) and the latter is MIPS / SH3-only; that is, it won’t work on ARM devices, meaning any PPC2k2+ Pocket PC’s manufactured in the last 5-6 years.
Also see HPC:Factor’s review HERE if interested.
Smartphone compatbility-wise, after manually extracting and transferring the pbizcalc.exe file to the QVGA smartphone, it’s more or less usable. However, the right and the bottom side of the GUI will be hidden. This, unfortunately, means the multiply, addition, substraction, division and addition operations (along with some more advanced memory operations) won’t be available to “click” via a cursor emulator like SPHelper. (Screenshot HERE)
7. HP-10B II (Business; Wiki stub)
A similar (but definitely weaker – see below!) calculator, Moravia Advanced Financial Calculator 1.0 (direct Emupage download link; can’t be found on PenReader’s homepage any more), is available (but, given that PenReader doesn’t seem to support it any more, it’s rather dubious whether it’s worth paying for).
As can be seen, this calculator is definitely inferior to the original one – just compare the functionality it offers to that of the original (see the buttons in the screenshot above and those of the originals at the MyCalcDB page. It’s not a 10B emulator either (see the original page HERE).
Smartphone compliance-wise, if you extract the one and only EXE file from the original CAB file, it’ll run flawlessly on QVGA models in Portrait mode as can be seen in the following screenshot (just press the Action button when you’re shown the license agreement to get rid of it):
Unfortunately, you must use a cursor emulator even for inputting numbers – the numeric keys won’t work. And, of course, don’t expect compatibility with traditional 176*220 Smartphones either because of the skin size (screenshot).
8. What next?
This is the second instalment in my thorough article series on Windows Mobile calculators, the one on Texas Instruments calculators being the first. I'll soon publish the third instalment on native (non-emulator) Windows Mobile titles. Stay tuned
9. Other discussions of HP emulators
Some links for readers wanting to know what others think about the emulators.
Hp 48g/48g+/48gx/49g/49g+/49gx
Tutorial: HP48G calculator on your Axim.
Emu98CE; also quickly elaborates on emulating other HP models
Engineering Software
HP48 Emulator with 2003?
Cool! HP48GX Emulater
RPN Calculator (also discusses other, earlier HP models)
Need a recommendation for a calculator (mostly on other, non-HP models)
Graphing calculator - advice?? (mostly on TI’s calculators)
good scientific calculator... (generic)
Graphing Calculator for Axim? (generic)
Calculator Software
Math apps! (Calc. Emulators, Plotting, Physics, etc.) - PLease! (generic; note that the VGA 49 link doesn’t work any more)
Calculators (general; mostly about TI)
In the Smartphone & Pocket PC Mag VIP Help forum, I’ve received the following question:
“When I create an email on my Mogul (HTC4000) and go to insert file, my memory card is not a listed option to pick from any ideas? My Moto Q did this as did my 6700 before that”
The explanation and cure for this is pretty simple. (Note that if this problem doesn’t apply to you, don’t stop reading: in the second part of this tutorial, I provide you with some really useful tips. Also note that this article deprecates my pre-WM5 one published HERE. I also explain the difference between the MS Smartphone and Pocket PC platforms, file dialog-wise.)
First, the explanation. Let’s see the case of the Moto Q – that is, MS Smartphone devices. In which way is the MS Smartphone (that is, touchscreen-less) platform different from the “big brother”, the Pocket PC OS? In several ways, of course – it’s much dumber in almost every respect (I miss the ability to fine-tune the backlight level the most). In a way, however, it’s (at least for many users) much more useful and usable than the Pocket PC operating system: its file dialog box is entirely different from that of Pocket PC’s. This, however, greatly confuses users switching between the two platforms.
When you go to Menu / Insert / File (or, more generally, you select a file from any program - again, this tutorial is a generic one), you’ll have direct access to all the directories (including the storage card(s)) as can be seen in the following screenshot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here, if you do select the storage card (by going to Menu / Storage Card), you’ll be taken directly to the card and, there, can select (left softkey) any file, in any directory, as can be seen for example in the following screenshot:
On Pocket PC’s, the situation is vastly different. When, upon composing a mail, you select Menu / Insert / File, you’re shown ALL the (accessible – see the rules later) files in one listbox as can be seen in the following screenshot:
There can be several hundred or even thousand files in the list, which results in both at time huge loading times and a lot of work to actually find the file you need; therefore, you can restrict the selection to a subdirectory only by using the “Folder” drop-down list:
The results of the restriction can be seen in HERE, showing an example of listing the contents of the “cities” subdirectory.
Note that – this is VERY important! – the “Folder” drop-down list only contains subdirectories under \My Documents in the built-in storage memory and the direct descendants (subfolders) of the root folder of the storage card. That is, if you have a file you’d like to add in, say, a second descendant of the root of your card, (say, \a\b), it won’t be accessible at all. The same stands for the subdirectories of \My Documents on the storage card – they won’t be listed either. This has always a BIG problem with Windows Mobile and has widely been criticized (see for example THIS for links).
In addition, there’s no way to “select only the root (without its visible subdirs) of the storage card” from the list – as opposed to the above-shown Smartphone screenshot. You will ONLY see the contents of the root of the card if you leave the “Folder” drop-down menu on its default, “All Folders” setting. Then, happy hunting for the file - after the list, finally, loads ; )
If you find this all (1, the HUGE number of the files shown 2, the inability to access anything outside \My Documents in the built-in storage memory and the direct subdirectories of the root of the storage card) a pain in the back, rejoice: there are decent solutions to the problem. Of them, I explain the two most widely used and important ones; one of them being even free.
1.1 Spb Pocket Plus 4
As has already been mentioned in my quick review of the IEM plug-in of Spb Pocket Plus, the, particularly with the new and indeed vastly improved version, highly recommended all-in-one system helper application, there’s built-in support for changing the system-level file dialog to something much better.
If you do get Spb Pocket Plus 4+, your problems are already solved: after installing it, the new file dialog will take effect at once, as can be seen in the following screenshot:
That is, it’ll work just great; you’ll be able to freely navigate the entire directory structure and won’t be flooded with hundreds or thousands of files at the same time, making it pretty hard to find the right one (or even wait for the list to load).
1.2 Y. “Mad Programmer” Nagamidori's FileDialogChanger
Before the (recent) release of Spb Pocket Plus 4, this was the suite I recommended the most for Windows Mobile users. Now that Spb Pocket Plus 4 also supports this functionality AND is a highly recommended all-in-one tool, I no longer do this - FileDialogChanger won't be needed any more if you go the Spb Pocket Plus 4 route. If you, however, don't (or REALLY need the exception defining capabilities, which I explain in the next subsection), make sure you get and install FileDialogChanger.
Get THIS ZIP file, extract gsgetfile.dll from the ARMRel directory and transfer it to \Windows on your Pocket PC. Then, get THIS file and, from the ARM directory, copy filedlgchg.cpl also to \Windows. Note that you MUST right-click these two links and select Save As to directly save it - if you just left-click it (as usual), you'll be taken to an error page because of the invalid referrer.
Now, go to Settings / System and tap the new File Dialog Changer icon and make sure you enable the Exchange Standard File Dialog checkbox as can be seen in the following screenshot:
That’s all; now, you can safely traverse the file system when adding attachments (or, again, looking for a file to load - or, a directory to save your current one to). Note that, unlike with Spb Pocket Plus, there’s no a quick drop-down tree list containing the current directory, all its parents the storage card(s). However, you can always use the left softkey (up) to go up to the parent (to the root, as it starts with \My Documents), where you can already click Storage Card (or any other directory):
1.2.1 Defining exceptions
Note that Mad Programmer’s FileDialogChanger also allows for defining exceptions (Spb’s program is incapable of this). That is, if, for some reason, you do not want to rely on the new file dialog in a given program, just add the given application to the exception list. For example, you prefer seeing all your, still sticking with emulators, ROM files on your PDA at once, and don’t want to manually navigate the directories to find them, then, you might want to add the emulator to the exception list so that FileDialogChanger knows it shouldn't be used with that specific app.
An example with PocketHobbit, the Commodore 64 emulator (discussed HERE), which uses the default file dialog box (screenshot HERE; with Mad Programmer’s tool, HERE). Then, all you need to do is clicking ADD, go to the directory with the executable file and double-click it. In this example, I’ve added all the three EXE files visible in the previous screenshot, resulting in the following exception list:
After this, PocketHobbit will start using the standard file dialog, while the rest of the system (all the other apps) will still use the redefined one - that is, that of FileDialogChanger.
(Note that I’ve chosen this emulator for this explanation not because of its (pretty much missing) merits but because it’s based on the system-level dialog box. If you are really into C64 emulation, forget this emulator at once and go for something better.)
1.3 Why will you want to consider changing the file dialog?
No, not only when you want to add attachments to a mail. The new dialog can be used much more widely. As a rule of thumb, whenever and wherever you’ve, in the past, encountered the standard, dumb and, in many cases, very annoying file dialog control, the new one will be used instead at both loading and saving. Yes, even at saving - for example, when you save Word Mobile files, you can tell the system in exactly which directory it should be stored to as can be seen in THIS screenshot.
As the standard file dialog only lists files under \My Documents in the main memory and files one level deep in the file system of the card (without showing the user where they really come from), in many cases, your only choice will be using third-party file dialogs like these two.
Again, just an example of the utility of these third-party applications: in order to keep the directory structure clean, you keep, for example, your emulator ROM image files two levels deep on your storage card under, say, \ROMs\SNES. Unless you use direct invocation (you click the given file from File Explorer to make the system invoke the associated emulator) and (when you do need them) you don’t copy around these files to a directory already visible to the standard file dialog, you won’t see these files at all. Unless, of course, install a better, third-party file dialog - one of the apps introduced in this tutorial.
UPDATE (11/16/2007): HowardForums forum member BeyondTheTech has just created a CAB installer of Mad Programmer’s FDC. This greatly simplifies installation – you just download the ZIP file from HERE, unZIP it, transfer the CAB file to your handset (if it’s not already there) and execute it in order to be installed. (Install it into main memory!) After a reset, you're all set – you only need to enable it as explained above (by checking in the checkbox).
Note that being put in a CAB installer also means you can uninstall it if you want if, for some reason, disabling the above-mentioned checkbox isn’t sufficient for you (because, for example, you want to remove all third-party stuff from your PDA without hard / clean resetting it).
FDC 1.70 Beta with thumbnail view
I was using this one when I am still in the pocketpc era....
http://tillanosoft.com/ce/tgetfile.html
But apparently, it don't support every applications out there...
ww2250 said:
I was using this one when I am still in the pocketpc era....
http://tillanosoft.com/ce/tgetfile.html
But apparently, it don't support every applications out there...
Click to expand...
Click to collapse
Yup, very few.
It's mostly on the MS Smartphone platform that it's useful - several of Masterall's kick-ass emulators use it.
It exist also gsgetfile.dll for Smartphones.
"http://www.geocities.jp/hou_ming_2/gsgetfile-i_sp.zip"
PS: "http://www.geocities.jp/hou_ming_2/beta/FakeCursorSP.zip" also for Smartphones.
Word?
Nice solutions! The free one especially since, well, it's free!
However, this doesn't seem to effect Word Mobile. Even with the FDC Word still only let's one search one directory deep...
Any thoughts on that one?
EDIT: to clarify, while saving files it works, but i'm reffering to the OPEN-file dialog. Which still s**cks.
DopamineNL said:
Nice solutions! The free one especially since, well, it's free!
However, this doesn't seem to effect Word Mobile. Even with the FDC Word still only let's one search one directory deep...
Any thoughts on that one?
EDIT: to clarify, while saving files it works, but i'm reffering to the OPEN-file dialog. Which still s**cks.
Click to expand...
Click to collapse
Yup, Office Mobile has a different file dialog. I don't know how it can be changed.
CharlyV said:
It exist also gsgetfile.dll for Smartphones.
"http://www.geocities.jp/hou_ming_2/gsgetfile-i_sp.zip"
PS: "http://www.geocities.jp/hou_ming_2/beta/FakeCursorSP.zip" also for Smartphones.
Click to expand...
Click to collapse
Thanks; as usual, you're GREAT!
CharlyV said:
FDC 1.70 Beta with thumbnail view
Click to expand...
Click to collapse
WOW... thumbnails... sounds nice.
How good is it though considering it's still BETA? Menneisyys, have you had a go at this? Any problems reported... speed, stability etc?
Would be great if you could do a review of it.
Cheers
Menneisyys said:
Yup, Office Mobile has a different file dialog. I don't know how it can be changed.
Click to expand...
Click to collapse
Office Mobile use own open file dialog, no workaround exist.
CharlyV said:
FDC 1.70 Beta with thumbnail view
Click to expand...
Click to collapse
I just downloaded FDC 1.70 Beta. It doesn't have the gsgetfile.dll so I used the same gsgetfile.dll from v1.66 and extracted it along with the v1.70 filedlgchg.cpl you have provided in the link.
When I tried to configure it, I had the option to enable the thumbnail view but when I actually used the File Dialog, I couldn't see anything different from the older v1.66.
Any help would be appreciated.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Decrement ci.dll!g_CiOptions(ci.dll+0xF984) by 0x08 using the exploit (It is 0x26, we need the 0x08 bit high, I chose 0x1E as the result since it's the closest we can get to the original mask).
I haven't actually compiled a driver for it yet, but I'm working on that.
Edit: Played with loading a default system driver with modified code and a custom signature. Instead of subtracting 0x08 to set testsigning high, subtract 0x25 to set all but the 1 bit low. Seems to be working, now. There is absolutely no driver signing now, though. Perhaps setting only 0x08 high would give a similar result but still require a test signature. Not sure, I don't like kernel driver signatures anyways.
More edit: Fun fact: Windows acts odd if null.sys is unloaded.
Even more edit: I'm going to get this, along with a couple other small tweaks, such as a registry-based startup, pushed in the next Jailbreak release, too.
Now, to get the DDK working. I haven't had any luck getting a driver compiled for ARM so far. I heard that there was a leaked DDK out there, anyone happen to know where it is?
oh hoo... awesome! :good:
I was able to use a tweaked version of THIS to get a driver built that loads into the kernel. I had to dump my own libs for ntoskrnl.exe (and somehow managed to get it to look for ntoskrnl.dll, blah), but I did get a Hello BSoD driver to run.
Also I've been looking for ARM DDK, but still not find yet.
It must be only released to device manufacture, but that also can be meaning that it already might have been leaked.
M-m-m, Netham45 I'm not so perfect Guru as you. Please, tell me, using "english", what are we allowed to obtain? Persistent JB or possibility to use/install system drivers w/o signaturest?
Denis_63 said:
M-m-m, Netham45 I'm not so perfect Guru as you. Please, tell me, using "english", what are we allowed to obtain? Persistent JB or possibility to use/install system drivers w/o signaturest?
Click to expand...
Click to collapse
Second part, this lets you get system drivers loaded without valid signatures. It's not ready for the average joe quite yet, but I'm working on getting it implemented into the jailbreak so everyone can use it.
Edit: Latest version of the jailbreak should support kernel-mode code unlocking now.
I've been working on the same thing, to allow unsigned drivers to dynamically load
I decrement by 0x22
I would strongly suggest keeping this separate from the run unsigned user mode win32 code jailbreak
as most people wont need it except in rare circumstances
(and its more likely to lead to the vunerability we all need being closed off)
xsoliman3 said:
I've been working on the same thing, to allow unsigned drivers to dynamically load
I decrement by 0x22
I would strongly suggest keeping this separate from the run unsigned user mode win32 code jailbreak
as most people wont need it except in rare circumstances
(and its more likely to lead to the vunerability we all need being closed off)
Click to expand...
Click to collapse
I think it'd be better if they were both loaded at the same time, so tools like OpenVPN and whatnot that require kernel-mode drivers can still function properly.
By the way, would the drivers work on the RT without this hack (but with a jailbreak) if they were signed with my own (bought, not self signed) code signing certificate or is there a specific list of trusted publishers (ony Microsoft?) that are allowed?
DarkoLord said:
By the way, would the drivers work on the RT without this hack (but with a jailbreak) if they were signed with my own (bought, not self signed) code signing certificate or is there a specific list of trusted publishers (ony Microsoft?) that are allowed?
Click to expand...
Click to collapse
I think the certificate for drivers is different from the certificate for applications.
Nice job, netham.
I'll try incorporating this into what I'm working on. My implementation works like this:
1. Start Notepad with a specific name in the title bar.
2. Attach nonobtrustively to Notepad with cdb.exe.
3. Overwrite user32!GetMessageW using a cdb.exe script.
4. Use taskkill to send a WM_CLOSE to that Notepad, causing the GetMessageW overwrite to execute.
5. The injected code I wrote with cdb.exe loads a DLL and runs it. It loads the DLL by mapping it as a file instead of an image, then marks it PAGE_EXECUTE_READWRITE with VirtualProtect.
6. The initialization sequence of the DLL fixes relocations and loads imports.
7. The DLL finds csrss.exe in the current session.
8. Open ntoskrnl.exe and ci.dll to look for the needed addresses.
9. EnumDeviceDrivers to find the ntoskrnl.exe and ci.dll base addresses.
10. The DLL injects itself into csrss.exe using NtMapViewOfSection and RtlCreateUserThread. (CreateRemoteThread can't be used on csrss.exe, because the new thread will try to connect to csrss over LPC.)
Steps 1-10 are already implemented and working. This leaves the next few steps:
11. Use the exploit to set g_CiOptions as per this thread.
12. Load the driver using NtSetSystemInformation(SystemLoadAndCallImage).
13. Use DeviceIoControl to communicate with the driver in order to set the variables we want.
14. Unload the driver somehow.
Myriachan said:
Nice job, netham.
I'll try incorporating this into what I'm working on. My implementation works like this:
1. Start Notepad with a specific name in the title bar.
2. Attach nonobtrustively to Notepad with cdb.exe.
3. Overwrite user32!GetMessageW using a cdb.exe script.
4. Use taskkill to send a WM_CLOSE to that Notepad, causing the GetMessageW overwrite to execute.
5. The injected code I wrote with cdb.exe loads a DLL and runs it. It loads the DLL by mapping it as a file instead of an image, then marks it PAGE_EXECUTE_READWRITE with VirtualProtect.
6. The initialization sequence of the DLL fixes relocations and loads imports.
7. The DLL finds csrss.exe in the current session.
8. Open ntoskrnl.exe and ci.dll to look for the needed addresses.
9. EnumDeviceDrivers to find the ntoskrnl.exe and ci.dll base addresses.
10. The DLL injects itself into csrss.exe using NtMapViewOfSection and RtlCreateUserThread. (CreateRemoteThread can't be used on csrss.exe, because the new thread will try to connect to csrss over LPC.)
Steps 1-10 are already implemented and working. This leaves the next few steps:
11. Use the exploit to set g_CiOptions as per this thread.
12. Load the driver using NtSetSystemInformation(SystemLoadAndCallImage).
13. Use DeviceIoControl to communicate with the driver in order to set the variables we want.
14. Unload the driver somehow.
Click to expand...
Click to collapse
I really don't get the point of this, we already have an established and working "jailbreak" (god I really hate this term) procedure.
lilstevie said:
I really don't get the point of this, we already have an established and working "jailbreak" (god I really hate this term) procedure.
Click to expand...
Click to collapse
No volume button required. No 2 minute delay after boot. No hardwired addresses - the last remaining one in the .bat file, in winsrv.dll, is obviated by thread injection. Higher stability, because we're not messing with csrss.exe's existing threads. No Internet access needed, because the code can find addresses without symbols.
By the way, Windows RT does not require validate signatures on .msi files. You'll get the otherwise-never-seen yellow UAC dialog box, and then it will install. So another part of my jailbreak is that you'll install it by double-clicking an .msi file. I've tested the .msi functionality. You could then even uninstall the jailbreak the usual way.
These are just improvements to make jailbreaking more user-friendly.
I'm not a fan of the term "jailbreak" either, but it's the current one.
Myriachan said:
I'm not a fan of the term "jailbreak" either, but it's the current one.
Click to expand...
Click to collapse
Me either, I always rename the bat FreeRT.
lilstevie said:
I really don't get the point of this, we already have an established and working "jailbreak" (god I really hate this term) procedure.
Click to expand...
Click to collapse
It's also got the benefit of not being automatic at reboot, unlike what he's talking about. I think that this is part of the reason that MS decided it wasn't a security issue because it requires user interaction every single boot, and a malicious program couldn't possibly install it silently.
Wow, a lot of news, GOOD news!!!
Myriachan
By the way, Windows RT does not require validate signatures on .msi files. You'll get the otherwise-never-seen yellow UAC dialog box, and then it will install. So another part of my jailbreak is that you'll install it by double-clicking an .msi file. I've tested the .msi functionality. You could then even uninstall the jailbreak the usual way.
Click to expand...
Click to collapse
First, that .msi container doesn't need signature for installing - this fact simplifies installation process! And now, if anyone wants to create programs for non-JB devices with Win RT on board, all he needs - is to make out the program in .msi formfactor. Magnificently!!!
No volume button required. No 2 minute delay after boot. No hardwired addresses - the last remaining one in the .bat file, in winsrv.dll, is obviated by thread injection. Higher stability, because we're not messing with csrss.exe's existing threads. No Internet access needed, because the code can find addresses without symbols.
These are just improvements to make jailbreaking more user-friendly.
Click to expand...
Click to collapse
Heavenly!!! When ordinary users (like me) will obtain user-friendly variant of your product? Next moment - will your variant of JB be persistenet, or non-persistent, just like actual (Netham45)? If even non-persistent, it won't be the problem with those perfect features ))) We'll place it in auto-startup
Netham45
About unsigned drivers. Should unsigned drivers be recompilled for Win RT (ARM), or non-modified drivers for Win7 (8) usage is possible (in .msi variant or by right-button clicking on .inf file) ??? And, also, when your usefull decision with user-friendly interface will be available for ordinary users???
Guys, thanks for your work and for your help from all Win RT users community :good:
netham45 said:
It's also got the benefit of not being automatic at reboot, unlike what he's talking about.
Click to expand...
Click to collapse
I was referring to what he was talking about
Denis_63 said:
Wow, a lot of news, GOOD news!!!
Myriachan
First, that .msi container doesn't need signature for installing - this fact simplifies installation process! And now, if anyone wants to create programs for non-JB devices with Win RT on board, all he needs - is to make out the program in .msi formfactor. Magnificently!!!
Heavenly!!! When ordinary users (like me) will obtain user-friendly variant of your product? Next moment - will your variant of JB be persistenet, or non-persistent, just like actual (Netham45)? If even non-persistent, it won't be the problem with those perfect features ))) We'll place it in auto-startup
Netham45
About unsigned drivers. Should unsigned drivers be recompilled for Win RT (ARM), or non-modified drivers for Win7 (8) usage is possible (in .msi variant or by right-button clicking on .inf file) ??? And, also, when your usefull decision with user-friendly interface will be available for ordinary users???
Guys, thanks for your work and for your help from all Win RT users community :good:
Click to expand...
Click to collapse
We've been able to use MSIs for a while, I documented it in the desktop apps thread, I believe. I've even posted some MSIs (MWB, DosBOX). They're just a pain in the ass to deal with right now, and most people don't feel like it.
His jailbreak will also be non-persistent. The persistence is because we are not saving any changes to Windows files, but only overwriting bits in memory (which are reset on next boot). I would love to have a persistent JB, but we just don't.
Unsigned drivers need to be compiled for Windows RT. That should be obvious, it's an ARM process and kernel-space has no knowledge of any JIT languages, so everything is compiled into assembly before being ran. x86 assembly will not run on ARM.
As far as the kernel exploit, it's available in the latest version of my jailbreak (1.2.0). There are also some other tweaks in there (registry-based startup, cleaned up how I check for admin, etc...), but since there are no ARM-compiled drivers available it's not really required to update right now.
lilstevie said:
I was referring to what he was talking about
Click to expand...
Click to collapse
And I was referring to my jailbreak in relation to his.
His jailbreak will also be non-persistent.
Click to expand...
Click to collapse
Clear... but what about uselessness of "Vol -" button pressing? Its the great step forward, I think :good: Automatical startup will be the solution for non-persisting
but since there are no ARM-compiled drivers available it's not really required to update right now.
Click to expand...
Click to collapse
Sad, but true (c)... but what about non-system, for example, peripheral drivers - printers, scanners etc. Its very simple, does peripheral drivers also need recompilling? :crying:
netham45 said:
And I was referring to my jailbreak in relation to his.
Click to expand...
Click to collapse
Ah right.
Denis_63 said:
Clear... but what about uselessness of "Vol -" button pressing? Its the great step forward, I think :good: Automatical startup will be the solution for non-persisting
Click to expand...
Click to collapse
Personally I think it is a great step back, the step requiring you to press "vol-" is one of the reasons microsoft aren't as interested in patching the exploit at this point in time, the more "Automatical" it becomes, the bigger the chance of it being used malliciously becomes, at which point microsoft will be forced to act (infact it would be rather irresponsible of them to not patch it at the first signs of mallicious use).
Denis_63 said:
Sad, but true (c)... but what about non-system, for example, peripheral drivers - printers, scanners etc. Its very simple, does peripheral drivers also need recompilling? :crying:
Click to expand...
Click to collapse
Yes
(got enough posts so I could move this thread here)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Desktop Store
(didn't habe the brains to come up with a nice name like "Subvert", if you have something good in mind, tell me, but I still would be glad to merge with toxickills project, even if it's only for the cool name )
Screenshots
Program Download Links:
RT Desktop Store Installer
Features
50 apps packaged
install/uninstall packages
all items on the startpage get shuffled
tile creation
start apps directly from the store
Todo
sometimes uninstalled packages are still displayed as installed (restarting the store currently fixes this)
tile management (delete, check for already existant tile)
add store tile to the start screen
add screenshots to existing packages
pack the remaining packages
distributed repositories
package/installation updates
and much more - if you have ideas, tell me
How can you help?
If you would like to help me with the packages until I release the package manager: send me screenshots from the packaged applications available in the store, as this is hard for me to do (I don't even use every application myself).
Here are some criteria for screenshots I would like you to check before sending them to me:
make the size exactly 1366x768 or 683x384, so that they don't scale bad in the screenshots control
If the app can't run fullscreen or maximized window, its always nice to have the pc property window in the background showing the Windows RT logo text
you can also make only screenshots from the application window itself and place them on a canvas complying to point 1., maybe applying a nice dropshadow
don't edit the screenshots in any other way, let them look natural
and if you can: screenshot them in a productive/properly used scenario, that's always the best to see
Mail adress should be viewable in my profile, just sent it there, or if you have mailbox space issues, sent me a link to the screenshot(s), Thanks!
Further information:
Pretext
Hey guys, so i have been sitting some hours and tried to take up what djboo (thread) had no time to continue on.
I've build a little RT Desktop Store based on his idea on getting a repository to present packages and let you download them via a custom store client.
If you are confused: No this is not the store called "Subvert" build by Toxickill, which he posted on this thread.
So what's the reason for this "duplicate" ? Well i wrote my own store during the same time Toxickill did, but when i released my first screenshots, i saw he had released his first beta only a few hours earlier. We used the same UI Framework it seems, so our applications even look similar. I wrote him asking what to do, if we could work together, etc. because it would be dumb not to use our resources together, to make this work for you even better. But since he hasn't been answering my PM and I don't have the permission to post in his development thread as of yet, I thought i could at least release what i have build so far, let you review it and maybe even Toxickill will notice me And if not? Well i don't mind doing this alone since I already spent all this time doing it this way, and im so glad of being able to give back something to the community (This is my first ever publicly released application!). If you like my store (or don't like it), please comment so that I can make it better
And while I'm on the road, i can as well earn my 10+ posts, so that i can post in the development threads
If you are interested in working together: i have setup a TFS on my server which we can use for working on this project.
Ok now for the application.
Concept
Basically, it's the same concept djboo originally pointed out: have a repository with packages, let a store client download, unpack and install them. So far so good.
I've gone a bit further and tried to make the client look & feel like the normal windows store app (still a lot to be done, but it really looks alike).
The current repository is hosted on my server. While i have plans to release my the package creator too, i will first release the client, because the package creator is not that, erm, user friendly right now. In fact i have, because of my store client design, divided packaging and the repository, because the basic packages that can be build contain more that what is needed to simply install the application. After building a package you can add it to a repository (using a repository manager) which then will unwrap all that is only needed for the store client presentation of the package (tile images, screenshots, etc.) and present the rest of the package as downloadable file for the store client.
If you want to see it, here is a screenshot from my package builder application that I will release once all the applications available have been packaged and added to my repository (thinking of a simple package creation service that spawns new guids, so that ppl creating packages for the same application will get the same application guid to prevent presentation of duplicate entries by the store client)
Installation & Files
First and foremost: you need to jailbreak your device (Windows 8.0 only, hopefully 8.1 will follow soon)
To install the store client, simply download and run this Installer from my server.
The store client will get installed under your Program Files folder, creating a new Folder named "RT Desktop Store". Installation consists of 2 steps:
The Installer downloads and then and runs the launcher for the store client
The Launcher downloads the latest store client files and starts the RT Desktop store (this will happen every time you start the store client)
Packages that you install from the store will not be installed under your Program Files folder, but a Folder called "Program Files (RTDS)" (same parent directory as your Program Files folder). This is for not confusing the packages installed from the store with any existing applications in your Program Files folder. Uninstallers for all all installed packages will be held in the "__storepackages" folder of your RT Desktop Store installation directory (like C:\Program Files\RT Desktop Store\__storepackages).
If you install an app, the store client will also create a Tile on your start screen, using the command line interface of OblyTile - if a tile is supported by the package. If no tile is specified by the package, the application will start after installation, so that you can at least pin it directly to your task bar. Unfortunately, programmatic removal of tiles via OblyTile is not possible as of yet, so you would need to unpin them yourself. The same goes for checking of already existing tiles. The same tile will just get created a gain. But the will most likely be pointing to the same file, so just delete all but one of the tiles.
Shortcuts
As long as i dont release a proper installer that creates shortcuts, start menu entries and/or a live tile, you will have to pin the store client yourself. I recommend you to create a shortcut to "RTDStore.exe", not "RTDStore.Launcher.exe", because the launcher application may get renamed during an update process. That aside, it doesn't matter if you run the launcher or the store client directly, the launcher will be called either way to check for updates.
Packages
I have yet to package every application that has been ported already, but i got roughly 1/3 of them already packaged (they may not all include screenshots, tiles etc, but that will follow this week, along with the remaining ported apps i think.
Finally
Have fun and i hope everything works well. If you experience any errors, please comment here or sent me a PM, so that i can fix them and let the new versions get pushed to you by my launcher as soon as possible
Disclaimer
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
NICE WORK BRO!!!
Question) after installing an app though your store, could we specify the desktop-shortcut-Icon in your package Manager? (Im asking this because some of my Projects use a cmd file to start the app, and the Icon is pretty boring)[subvert has NOT this Feature]
Cheers
Blade
EDIT:
Just tested it. it Looks AWESOME
Notes:
-No Settings available (how to add own repo-URLs?)
-We Need your Package-Manager
Improvements:
-small visual bugs while going through. Perhaps you can include a "wait-till-loaded"-function, this will solve all visual bugs and make it all soo much smoother
-Possible to add "touch-scrolling"? that would be soo cool, if we dont Need to use the scrollbar at the bottom and are able to also scroll via dragging in the middle...just like the real store
(also the scrolling brings visual bugs while moving. Bug disappear on stopping...)
I think this has got a HUGE potential! Please Keep it up the good work.
BIade said:
NICE WORK BRO!!!
Question) after installing an app though your store, could we specify the desktop-shortcut-Icon in your package Manager? (Im asking this because some of my Projects use a cmd file to start the app, and the Icon is pretty boring)[subvert has NOT this Feature]
Cheers
Blade
Click to expand...
Click to collapse
Hi Blade! (Cheers from Cologne)
If I understand you correctly, you use some kind of launcher for some of your programs, which in turn starts your program (i guess you mean something like ClassicStartMenu, where you need to restart the explorer after launching the start menu, because otherwise it won't show up in the taskbar). And because of this, you pin, of course, your launcher to the desktop instead of the program that's getting started - makes sense. In my package manager you can specify a list of applications that are included in the package and, as of now, a small and normal sized tile for OblyTile to generate the start screen tile for each application. I guess i could extend this to support desktop shortcuts, but would have to look into the windows shortcut file format (.lnk) - which I had planned anyway, because I need more control over the created tiles than simply creating them, and they're essentially .lnk files, too. Currently you can put a launcher in the package and run it via the tile that will get created for it - I will show you how that works once I've released the package manager.
BIade said:
EDIT:
Just tested it. it Looks AWESOME
Notes:
-No Settings available (how to add own repo-URLs?)
-We Need your Package-Manager
Click to expand...
Click to collapse
As I've written in my todo-list above, distributed repositories are yet to come, I just have to find a way to make the packages unique - maybe by providing a packaging service for the package manager, that spawns a GUID for a given application name, so that the same package doesn't get listed twice in the store. But that in turn would create a new problem: how do you decide from where to get a package? As there is no real server behind an application that could work as some kind of load balancer. I would display a message from which hosting the package is being retrieved upon installation, but rather not show them as separate repositories in the store. But I think it would be reasonable to give the user the opportunity to select from which repository to get the package if he wants to install it - if a package is broken, or not available on the repository automatically selected by the store.
But furthermore, what about a package where someone includes a nice launcher and someone else doesn't? Need to think about it.
Today I will try to get over with packaging most of the remaining apps. After that's done, I will take up getting the package manager ready to release accompanied by a distributed repository mechanism, as those two go hand in hand.
BIade said:
Improvements:
-small visual bugs while going through. Perhaps you can include a "wait-till-loaded"-function, this will solve all visual bugs and make it all soo much smoother
Click to expand...
Click to collapse
Yeah I did most of it with the new async-feature of C#, for the smaller installations that works perfectly, but larger ones make the application hang - that was to be expected because async just executes on the GUI thread too, just does lazy evaluation. I already moved a part of the installation to background threads, but will move the whole thing. And the last few days were just dirty hacking, so i don't have a centralized installation overview as of yet, that's why the installation messages start bugging once you switch to another app page.
BIade said:
-Possible to add "touch-scrolling"? that would be soo cool, if we dont Need to use the scrollbar at the bottom and are able to also scroll via dragging in the middle...just like the real store
Click to expand...
Click to collapse
I guess that's somehow possible, just wasn't on the top of my list.
BIade said:
(also the scrolling brings visual bugs while moving. Bug disappear on stopping...)
Click to expand...
Click to collapse
I daresay that's an issue with the not-so-lightning-fast ARM processor, as this runs perfectly fine on my desktop pc. Surely GDI+ related, but i guess there is something that can be done for some smooth animation.
BIade said:
I think this has got a HUGE potential! Please Keep it up the good work.
Click to expand...
Click to collapse
Thank you very much!
Cheers back from Cologne
For the repos:
Adding a Settings-tab with a list of repos, where only your repo is listened, but where users can add/delete custom repos.
For the "not duplicated" and the "from whom" problem:
Custom-repos could get their own tab like:
[Available(perhaps rename it to "Main") | Custom1 | Custom2 | Installed | Settings]
And Custom-Titles could been set in settings to make it look like:
[Main Apps | Blade's Apps | xda-Apps | Installed | Settings]
Totally off topic:
On the 12.12 I write an important exam in the uni. But after that I would like to meet you for a coffee, if you want. Since we both live in cologne, perhaps we can share some ideas or/and learn something from each other. I would love to help you with your store, and perhaps i got some cool stuff for you:
(ps3-hacking, Android-app-development, Micro-controller-programming, home-automation, and many many more....)
Your idea for the different repositories is quite nice, I will implement this soon, as it will be quite easy I think. But for the long run I will still be looking for a more integrated solution.
Offtopic too:
Sure why not! Just PM me the details of the approximate when and where and we'll go for it You can also write your PM in german
Hit the 50 packages mark! Hurray!
And ~160 RT Desktop Store Downloads!
If you would like to help me with the packages until I release the package manager: send me screenshots from the packaged applications available in the store, as this is hard for me to do (I don't even use every application myself). Here are some criteria for screenshots I would like you to check before sending them to me:
make the size exactly 1366x768 or 683x384, so that they don't scale bad in the screenshots control
If the app can't run fullscreen or maximized window, its always nice to have the pc property window in the background showing the Windows RT logo text
you can also make only screenshots from the application window itself and place them on a canvas complying to point 1., maybe applying a nice dropshadow
don't edit the screenshots in any other way, let them look natural
and if you can: screenshot them in a productive/properly used scenario, that's always the best to see
Mail adress should be viewable in my profile, just sent it there, or if you have mailbox space issues, sent me a link to the screenshot(s), Thanks!
Hi
Tried to install it today but cannot.
My device is nokia lumia 2520
Before installation i did jailbreak, looks done well.
When im trying install desktop store getting info there is it not possible, please visit market etc.8
wojtas29 said:
My device is nokia lumia 2520
Before installation i did jailbreak, looks done well.
Click to expand...
Click to collapse
You didnt do the jailbreak then. the jailbreak works on RT 8.0 only, it does not function on 8.1 and the lumia 2520 comes pre loaded with 8.1.
wojtas29 said:
Hi
Tried to install it today but cannot.
My device is nokia lumia 2520
Before installation i did jailbreak, looks done well.
When im trying install desktop store getting info there is it not possible, please visit market etc.8
Click to expand...
Click to collapse
Just as SixSixSevenSeven mentioned: if you didn't downgrade your lumia to Windows 8.0 (don't know if it's possible), it won't work. Maybe you ran the jailbreak, but it failed for sure. If not, this would be breaking news for Myriachan and the others xD
Short update:
I'm currently working an a packaging modification. I'll package the apps directly as .appx files using the windows store package builder shipped with visual studio. Toxickill told me, that despite this, the Original Windows store won't install the packages directly, so I'll be building an appx installer afterwards. And if we ever get the Windows Store to install our custom .appx packages without a custom installer, we will already have the correct package format Furthermore, the windows store package format is quite convenient regarding structure of package information and files. And in any case better than me trying to reinvent the package-format-wheel.
For the store client/repositoriy, the packages will be wrapped with additionaly info (images and other stuff, and I'm modifying my package builder to be a combination of the visual studio built-in package manifest editor and the devcenter web page for publishing windows store apps (some of you may know what I'm talking about, the others will just get to see the new package builder in a few days^^). This way, ppl can create packages of ported apps, without needing their own repository to publish it, but send it to someone hosting a package repository, who can simple import the package, which then gets unwrapped and put into the repository, presenting it's information to the store client.
In my opinion, microsoft has done some nice work, streamlining the app creation and publishing process for the windows store. And by trying to comply to their application, packaging, redistribution standards, I hope we may be able to get something out of them regarding jailbreak and such, making them see, that, if correctly managed, desktop apps are not lowering the user experience on windows rt at all, but are an enrichment instead
Fasin said:
if you didn't downgrade your lumia to Windows 8.0 (don't know if it's possible)
Click to expand...
Click to collapse
It isn't possible unfortunately :/
SixSixSevenSeven said:
It isn't possible unfortunately :/
Click to expand...
Click to collapse
That's rather unfortunate :/ Then the only hope for you, wojtas29, is the next jailbreak...
Just to let you know, I'm not dead yet Sadly I don't get as much time as I would like to. I'll package some more apps when I have some spare minutes at work this week and hopefully I will get a huge step done with the package manager this weekend, so that you can use it. Bear with me
Yeah!
Inviato dal mio Nexus 4 utilizzando Tapatalk
not installing on surface rt
I don't if your still working on this project or not but I need your help!!
I can't install this app on surface rt 8.1 jailbreak.
when I want to run this app it sez "this app can't run on your pc to find apps on this pc, open the windows store."
and then I tried to open it using the x86 emulator and then the notepad opened. at the last line it seas :
[ 6500]E: Error loading program: 1168
(I don't known if this in the emulator error or D.stores error.
helllllp!!!!
Dead horse LoL
Anyway, I did get the installer to launch after signing the file using the 'signtool', however it looks like the dependencies aren't available (probably dead server). Stuck at 'Downloading Launcher' ... 0/0B
Windows 8.1 Jailbroke.
Happily, the 2017 community edition of Visual Studio still let's us compile apps as 'Any CPU', so at least I can still build stuff.
brandoncomputer said:
Dead horse LoL
Anyway, I did get the installer to launch after signing the file using the 'signtool', however it looks like the dependencies aren't available (probably dead server). Stuck at 'Downloading Launcher' ... 0/0B
Windows 8.1 Jailbroke.
Happily, the 2017 community edition of Visual Studio still let's us compile apps as 'Any CPU', so at least I can still build stuff.
Click to expand...
Click to collapse
hey did you get it to work Im having the same problem .
trying this in 2019 on my surface RT Win8.1 jailbreak with no luck. Is the app dead?
frayes said:
trying this in 2019 on my surface RT Win8.1 jailbreak with no luck. Is the app dead?
Click to expand...
Click to collapse
Yes
frayes said:
trying this in 2019 on my surface RT Win8.1 jailbreak with no luck. Is the app dead?
Click to expand...
Click to collapse
It says it can only work on Windows 8.0, not 8.1. Did you also try that? I want to try this on my RT too but I am reading into the downgrade first.