><(({°>

archives
it happens mostly at night
14 June, 2007
# master reset on a sprint razr v3m
here are the steps:

first get your MSL code from Sprint technical support, or using a seem editor at seem 55 (the only 6 digits that show up).

* enter ##786# to go to the RTN menu
* go to Reset
* enter your MSL code and say Yes (This will erase just about EVERYTHING important on the phone
* once the phone has reset, enter ###
* Choose Edit
* for the MDN / Mobile number, enter your number
* for the MSID, if you have not changed carriers, enter your phone number again (i'm not too sure if this is correct for everyone. it worked for me, though)
* select Done and the phone reboots.
sounddoc
Comments:

Post a Comment (0) comments
# windows powershell 1.0 removal
To remove windows powershell 1.0 from your system using add / remove programs, you have to 'show updates', and it's listed with the windows updates...good to know.
sounddoc
Comments:

Post a Comment (0) comments
07 June, 2007
# getting rid of ie7's security annoyance
if you are in a group policy controlled domain such as myself, and let's say you haven't pushed out ie7 yet, your ie6 security settings might drive ie7 batty with the "information bar" ("information bar" is equivalent to calling telemarketers "considerate salespeople") popping up the following on EVERY page:

"your current security settings put your computer at risk. click here to change your security settings"

To get rid of this nonsense, just add the following key to the registry:

in HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Security\

DisableSecuritySettingsCheck, REG_DWORD, 1

Restart ie7 and voila! you can now surf the internet like a big kid without your browser displaying it's overbearing mistrust in you.
sounddoc
Comments:

Post a Comment (0) comments
04 June, 2007
# Outlook 2003 AB settings
i have finally found a way to edit the registry in such a way that with our new builds, the address book can be set up via the post build utility instead of manually. I used this bit of code to help, along with this description of the OL registry.

In the key 9207f3e0a3b11019908b08002b2a56c2 there is the value name 01023d01 which lists the arbitrarily assigned guids for address books loaded in outlook. In my case, one of them is the Exchange Directory AB, and also my Personal Contacts folder, creating a hex key length of 32, i.e. 16+16. In order to add the personal contacts AB into the search order, I needed to grab the 2nd guid, bind to that in the registry, and then query the value name 01026601 which is some sort of reference key to be used later in the search order.

There are two things that I wanted to change in Outlook:

1) The "Show this address list first" and
2) The Search order for resolving e-mail addresses.

The corresponding key for these are under 9207f3e0a3b11019908b08002b2a56c2, and are 01023d06 and 11023d05 respectively. Once I had the reference key 01026601 from the Contacts key, I needed to plug it into the middle of 11023d05, so that the search order would be 3 parts; ##specific part of the GAL##, Contacts, ##the entire GAL##. Admittedly, I would have to use dummy keys, so I set up one machine manually, and then exported the values 01023d06 and 11023d05. 01023d06 didn't need editing, when imported into a clean machine, it set the "Show these names first" setting just fine. 11023d05 was proving to be a huge PIA. I took the exported key, and set 16 0 pairs from the 124th bit. The next task would be to import the 16 pair reference key found earlier in 01026601 which references the Contacts AB. I'll let the code speak for itself here. Sorry about the formatting:

'### Just start out by grabbing the used Outlook profile, and bind to the base key.
Dim profKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles")
Dim defProfile As String = profKey.GetValue("DefaultProfile")
Dim OLbaseKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\" & defProfile)

'### Next, grab the backup key, and it's various value names

Dim OLBackupKey As RegistryKey = OLbaseKey.OpenSubKey("9207f3e0a3b11019908b08002b2a56c2")
Dim OLBackupABProviders = OLBackupKey.GetValue("01023d01")
Dim OLContactsProv As String = ""
Dim num As Integer
Dim hex As String

'### Here we are going to grab the second guid in the value, i.e. the Contacts guid

For num = LBound(OLBackupABProviders) + 16 To UBound(OLBackupABProviders)
hex = VisualBasic.Conversion.Hex(OLBackupABProviders(num))

'### I found that leading "0"s were being omitted, so I added this workaround:

If hex.Length = 1 Then
hex = "0" & hex
End If
OLContactsProv = OLContactsProv & hex
Next

'### At this point OLContactsProv is the complete guid keyname for the AB we want to add.

OLContactsProv = OLContactsProv.ToLower() 'just so it's formatted nicely
Dim keylist() As String = OLbaseKey.GetSubKeyNames()
Dim oOLContactsProv As RegistryKey = OLbaseKey.OpenSubKey(OLContactsProv)

Dim OLContactsKey As Byte() = oOLContactsProv.GetValue("01026601")

'### now let's set the AB search order. OLContactsKey holds the reference key.
'### but first import the default settings
'### For security purposes, I can't show you the reg file as it holds our DC info :)
'### But, as I mentioned earlier, it's an export of 11023d05 and 01023d06 on a set up machine.

Shell("regedit /s BackupKeySet.reg", , True)
Dim ABSearchOrder As Byte() = OLBackupKey.GetValue("11023d05")
Dim n As Integer
Dim p As Integer

'### Here's the piece that puts things in place. Setting the 124th - 139th set of pairs to the reference key; "OLContactsKey"

For n = 124 To 139
ABSearchOrder.SetValue(OLContactsKey(p), n)
p = p + 1
Next
Registry.SetValue(OLBackupKey.ToString, "11023d05", ABSearchOrder)


...And voila! Start up Outlook and you should have Contacts in the search order, as well as a custom "show these addresses first" setting.

Of course, I'm not responsible for any data loss, and you're doing this stuff at your own risk. Also, if I'm wrong about any of this, or you see room for improvement, please let me know!
sounddoc
Comments:

Hi,

This was a great post and helped me a lot while I've been bludgeoning out a VBScript version. Thanks.

Just a couple of things that caught me out that I thought you might like to know (as might anyone else that uses this in the future):

1. I couldn't use a regfile import from a setup machine to import the defaults, because this relies on the MAPI profile name being the same on every machine (which it is not in the environment I was working in). I.e. The reg file will contain the path [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\%INSERT PROFILE NAME HERE%\9207f3e0a3b11019908b08002b2a56c2]

2. Contacts wont always be the second GUID in the "01023d01" value, so you have to get the subkey relating to each GUID and check for the existence of a "01026601" value.

Hope this makes sense, and is of some help.

-john
 
ah! that explains why the contacts search list doesn't work 100% of the time. I will look into this once I get in. This was all part of a post build utility I wrote for our frontline staff to make building machines less tedious and more automated. and yes, we just use the default MAPI name 'Outlook' I believe.
 
To describe this job as a huge PIA is quite accurate :-)

Further to my original comment, you actually need to put in more info into the search order than just the 16 pairs given by the "01026601" value. You then need to go back to the existing address list search order ("11023d05"), search for your 16 pairs and then get the 48 pairs following.

Then the resulting 64 pairs need to be inserted into the new "11023d05" key once you build/import it.

Without using the additional 48 pairs, I was finding that it would only work for the user account that I did the configuration with on my test machine (i.e. the account used to exported the .reg file in your example). I've got absolutely no idea what's in the extra 48 pairs, but it wouldn't work until I added them.

So I've now got a script that will set the default address list and the address list search order for the default profile, now I've just got to figure out how to enforce it...
 
Post a Comment (3) comments