Please sir, Just The Facts

The Crime:  My CE device runs a CF app just fine when I deploy it manually, but once I connect to it from Studio for deployment and then cycle the power, not just my app, but all CF apps no longer work.  Reflashing the image on the device repairs the sitation.  What the hell is going on?


The Evidence:
Article #1: Studio saves connection security info in the device registry
Article #2: Studio saves connection security info in RAM of the device (in the root folder)
Article #3: When a CAB file is expanded, RegFlushKey is called
Article #4: When Studio deploys the CF, it does so as a CAB
Article #5: When a device is reset all RAM is lost
Article #6: The CF requires that the info in RAM and the registry match to launch


Verdict:

When I make a connection some info is stored on the device in RAM and the registry.  When I deploy, half that is persisted.  When I reset the device or pull power the other half is lost, causing all CF apps to no longer run on the device unless I erase the persistent registry (which depending on your device may mean reflashing the whole damned thing).

 

Sentence:

Run DelCryptoKeysDevice.exe (part of Windows CE Utilities for Visual Studio .NET 2003 Add-on Pack 1.1) to erase the info from the registry.  Doing it on startup by adding it to your image and this to platform.reg means you can forget about it:

[HKEY_LOCAL_MACHINEinit]
        “Launch55″=”DelCryptoKeys.exe”
        “Depend55″=hex:14,00, 1e,00

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s