[Windows Phone 7 Development and Hacking] GoodDayToDie:
UPDATE 2: Heathcliff74 has taken a look into the reason that this method wasn't working on phones with the HTC updates for Mango, and appears to have found a work-around! I strongly suggest that people try his version instead of mine. The instructions are similar but not identical. Scroll down to the bottom of this first post and use the HTC Interop Unlock XAP located there:

http://xdaforums.com/showthread.php?t=1271963

If you want to post your results in this thread, please specify which XAP you are using, mine or Heathcliff74's. There are known limitations with mine. There still seem to be some limits with his, be we aren't sure exactly what they are yet.

UPDATE: This is disappointing, but apparently HTC has put yet another roadblock in our way. I'm working on a way around the next one. I can't say how long it will take, but I beat the last one (process arbitrary provxml on an interop-locked phone) and I'll beat this one (allow Connection Setup to modify the registry again, after the HTC updates).

I'll update this thread again when I have a new version to test. Guesses as to the problem's root cause, suggestions for fixing it, and anything else you've found are all welcome.

I'm not taking the initial release of the app down, but unless you have an HTC phone which somehow is on Mango, doesn't have the HTC updates, and isn't already interop-unlocked, this isn't going to do anything for you. If you are in that situation, have at it - for now though, I'm just leaving it up so people can download it and pull it apart.

What it does: Modifies your HTC phone to allow maximum unsigned apps, which will also allow you to deploy and run apps with ID_CAP_INTEROPSERVICES. This does not require rolling back to pre-Mango. It is designed for use on stock ROMs. It is expected to work on all GSM HTC Windows Phone 7 devices. It might even work on the Arrive (can't hurt to try). You can read more about Interop Unlock here: http://xdaforums.com/showthread.php?t=1271963

What it needs:

HTC Windows Phone (in theory, any of them)

Developer-unlock (AppHub account or ChevronWP7 Labs should be fine)

Connection Setup app (it's in Marketplace under HTC Apps)

What you do:

0) Install Connection Setup, if you haven't already.

1) Start Connection Setup, just to make sure it works. You don't have to do anything, just start it.

2) Exit Connection Setup using the Back button (so it's not running or suspended).

3) Install HtcInteropUnlock.xap. You don't need to run it.

4) Run Connection Setup again.

5) Expand the AppBar menu (... at the bottom) and choose "manual select".

5.a) The Country and Carrier list-picker boxes should become enabled.

5.b) If they don't, hit "manual select" again, it takes two taps on my phone.

6) Tap on Country and select "Phone Customization" (you can use the jump list to get to P quickly).

7) Carrier should automatically change to "Dev and Interop Unlock" (make sure this happens).

8) Hit the check mark at the bottom (AppBar "ok").

9) Make sure it reports success, then hit Done.

10) Try to install / run an interop app (or just install an 11th unsigned app).

Please report what happens, including the following info:

Your phone model (mine is HTC HD7, T-Mobile US branded).

Your version info (mine is 7720, no HTC Mango updates).

Success or failure of the whole operation.

If failure, indicate the exact step that went wrong, and what happened instead.

Be aware: This method does not damage your data connection in any way, but it will probably prevent Connection Setup from working normally. This can be undone. However, I didn't want to put the effort into making it reversible until I knew whether it worked on other phones, so if you need Connection Setup for its official purpose, don't install the initial release of this app.

This app builds on the work of multiple members of our community. Special thanks go to:

Heathcliff74, for researching interop-unlock and discovering the xap-deployer hack.

kounadisk, for researching how to add custom entries to Connection Setup.