Log in

View Full Version : SrRegEdit 1.3 -- Registry Viewer


twestley
04-24-2005, 04:59 AM
SrRegEdit is a free Pocket PC registry viewer that runs on your desktop PC. It connects to your Pocket PC through ActiveSync and lets you view the complete Pocket PC registry. Although it's called SrRegEdit, it's just a viewer right now. Please try it out and let me know what you think should be added. Most obvious is making it into an editor!

Download SrRegEdit at http://www.sabonrai.com/.

Version 1.3 (25-Apr-2005):

Added an About Box
Added a log file; you can show it from SrRegEdit by selecting menu Help->Show Log
Improved dummy child (to make + appear on keys that have children) by reusing the dummy child node instead of deleting and re-adding a real key
Catch buffer overflow exception in fetching key values from the Pocket PC and log it
Trimmed extraneous characters (null terminators) from end of each key in hopes that was the cause of the buffer overflow exception
Fixed progress bar overflow bug


Version 1.2 (23-Apr-2005):

Renamed SrRegEdit from CeRegEdit after discovering that Microsoft has a CeRegEdit program in the Pocket PC SDK
Added a progress bar that shows progress of background loading of the registry
Fixed child key + problem: While background loading, a key that has a child key now always appears with a + sign in front so that you can see there is a child key. In previous versions, there was no +, so you might have thought there was no child key.

dlangton
04-24-2005, 10:27 PM
As a viewer, it works fine, and loads quickly. Considering my registry is about 1MB, that's impressive. If you do add editing capabilities, it would be nice to have an import/export feature.

Whoops, I just noticed that the registry is now very slow to load, according to your progress bar - much slower than ceregedit. While I can access individual items quickly, it takes several minutes - I'm guessing 15 minutes total - before the entire registry is loaded into srregedit.

twestley
04-24-2005, 11:31 PM
If you do add editing capabilities, it would be nice to have an import/export feature.
Good suggestion. When I add edit capability, I think it's critical to have some way to revert and this could be accomplished by import/export behind the scenes. Then, you sort of get two features for the work of one.

Whoops, I just noticed that the registry is now very slow to load, according to your progress bar - much slower than ceregedit. While I can access individual items quickly, it takes several minutes - I'm guessing 15 minutes total - before the entire registry is loaded into srregedit.
Thanks for the info. That helps me think a little harder on how to do this. I think the difference is that CeRegEdit had a little quirk in that it didn't show a + sign in front of a key until background loading got to that key and added the child(ren) node(s). In SrRegEdit, I add a dummy node so that it appears to have children. Probably, adding and deleting all those extra nodes is what is causing the difference in loading speed.

dlangton
04-25-2005, 03:54 AM
I'm getting errors when running srregedit. The first time, it was an error code 402, or 4020 - but I closed the message when I was trying to save it. The latest error follows:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Combination of Array index plus size was not large enough.
at System.BitConverter.ToUInt32(Byte[] value, Int32 startIndex)
at OpenNETCF.Desktop.Communication.CERegistryKey.GetValue(String name, Object defaultValue)
at OpenNETCF.Desktop.Communication.CERegistryKey.GetValue(String name)
at SrRegEdit.SrRegEditForm.SelectNode(Object sender, TreeViewEventArgs e)
at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
at System.Windows.Forms.TreeView.WmNotify(Message& m)
at System.Windows.Forms.TreeView.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
SrRegEdit
Assembly Version: 1.2.1939.37736
Win32 Version: 1.2.1939.37736
CodeBase: file:///C:/Program%20Files/SabonRai/SrRegEdit/SrRegEdit.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
OpenNETCF.Desktop.Communication
Assembly Version: 2.8.1584.19264
Win32 Version: 2.8.1584.19264
CodeBase: file:///C:/Program%20Files/SabonRai/SrRegEdit/OpenNETCF.Desktop.Communication.DLL
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Accessibility
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/winnt/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.



Maybe I need a newer version of the .Net Framework on my desktop?

twestley
04-25-2005, 04:30 AM
Maybe I need a newer version of the .Net Framework on my desktop?

No, my first assumption is there's something wrong in SrRegEdit and how it fetches the registry keys. This doesn't happen on my Pocket PC registry, but I'll take a look at it. Thanks for the stack trace.

twestley
04-26-2005, 05:13 AM
Whoops, I just noticed that the registry is now very slow to load, according to your progress bar - much slower than ceregedit. While I can access individual items quickly, it takes several minutes - I'm guessing 15 minutes total - before the entire registry is loaded into srregedit.

CeRegEdit also did background loading, but just didn't display its progress. Is there any chance you were fooled into thinking it was faster because there was no progress indication and, after all, you can click on any key and open it before loading is complete. That's the intention with background loading. You don't have to wait until it's done. Whenever you open a key, the program pauses background loading and loads what you've selected, then resumes background loading while idle.

twestley
04-26-2005, 05:16 AM
I'm getting errors when running srregedit. The first time, it was an error code 402, or 4020 - but I closed the message when I was trying to save it. The latest error follows:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Combination of Array index plus size was not large enough.

I've found something that could cause the error. I've tried to fix it, meanwhile catching the exception in case that's not it. I've added a log file for recording the errors. You can see it by going to menu option Help->Show Log.

This is in version 1.3 which is available now at http://www.sabonrai.com/

dlangton
04-27-2005, 04:11 AM
CeRegEdit also did background loading, but just didn't display its progress. Is there any chance you were fooled into thinking it was faster because there was no progress indication and, after all, you can click on any key and open it before loading is complete. That's the intention with background loading. You don't have to wait until it's done. Whenever you open a key, the program pauses background loading and loads what you've selected, then resumes background loading while idle.


I'm sure I was fooled :) I has just assumed that the entire registry had been loaded.

dlangton
04-27-2005, 04:12 AM
I've found something that could cause the error. I've tried to fix it, meanwhile catching the exception in case that's not it. I've added a log file for recording the errors. You can see it by going to menu option Help->Show Log.

This is in version 1.3 which is available now at http://www.sabonrai.com/


I've been trying the new version off and on for several hours. No errors so far :D Looks as though you've solved the problem.

twestley
04-27-2005, 01:22 PM
I've been trying the new version off and on for several hours. No errors so far :D Looks as though you've solved the problem.

Thanks very much for trying this program and reporting back problems (and success!).