I’ve been running Windows 7 as my primary machine now for a couple of months (first the Beta and now the RC). I love the OS but there have been a couple of frameworks that didn’t work right. The one that perplexes me the most is ADO.NET Data Services 1.5 CTP1.
When you are on a Windows 7 box, running the installer will complain about a problem and point you to the readme file.
The problem is that the “%ProgramFiles%/Reference Assemblies\Microsoft\Framework\v3.5” folder on Windows 7 is protected as a part of the operating system. Specifically only “Trusted Installer” has rights to update the files and the ADO.NET Data Services 1.5 installer doesn’t have those rights so it doesn’t update the crucial assembly. To address this, you have to take over ownership of the System.Data.Services.Design.dll assembly in that folder and give yourself full access to the file. If you’re not familiar with how to do this, i’ll cover it further down in the blog post.
Once you have ownership of the assembly, re-run the installer (choose Repair if you already installed once with the error). You will get the same error again, but this time it replaced the crucial file.
In order to use the new bits, there are some small hoops to jump through, but Mike Flasko explains these really well in a video on the Astoria Team blog:
Changing Ownership/Permissions to the Assembly
For the uninitiated, taking ownership and assigning permissions can be done like so:
Open the “%PROGFILES%/Reference Assemblies\Microsoft\Framework\v3.5” folder and find the assembly:
Next, right-click the assembly and pick Properties to show the property window for the assembly. On the Security tab, click on the “Advanced” button near the bottom:
Next, select the “Owner” tab and click on the “Edit” button:
Next pick a new owner (probably your user name or your machine’s Administrator group) and press OK:
Close all the dialogs and return to the Explorer window again (changing owner requries you re-open the property window). Right-click the assembly again and pick "Properties. In the Security Tab, click the “Edit” button to change permissions for you user name (or group):
Lastly, in the Permissions dialog, click the “Full control” checkbox to give you full control of the assembly.
You’ve now got the full permissions requried.