Intellipad has been live for about 3 weeks now and we're really glad to see the excitement around it. Lots of folks have been following examples on this blog and others that describe the many ways to customize Intellipad. We've already received a great deal of feedback and we love it so keep it coming.
Here are a few tips for anyone customizing Intellipad after installing it with the Oslo SDK:
At startup, Intellipad loads extensions and customizations based on a configuration file that specifies where to look for extensions and how they should be loaded. By default, it loads ipad.xaml but you can load other ones using the /config option. Creating custom configuration files is a great way to launch Intellipad with different customizations or to load extensions from a different location. On my laptop I have an ipad.xaml that looks like this:
/config
ipad.xaml
<ipad:IntellipadCore xmlns:ipad='clr-namespace:Microsoft.Intellipad;assembly=Microsoft.Intellipad.Core' xmlns:mi='clr-namespace:Microsoft.Intellipad;assembly=Microsoft.Intellipad.Core' xmlns:cm='clr-namespace:System.ComponentModel.Activation;assembly=Activation' xmlns:s='clr-namespace:System;assembly=mscorlib' xmlns:scg='clr-namespace:System.Collections.Generic;assembly=mscorlib' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'> <ipad:IntellipadCore.CatalogSources> <cm:FileCatalogSource RelativeCacheFilePath='ipad\root.catalog'> <cm:FileCatalogSource.Files> <s:String>Microsoft.Intellipad.Core.dll</s:String> <s:String>Microsoft.Intellipad.Framework.dll</s:String> <s:String>Microsoft.VisualStudio.Platform.Editor.dll</s:String> </cm:FileCatalogSource.Files> </cm:FileCatalogSource> <mi:IntellipadCatalogSource SubDirectoriesOnly='true' DirectoryPath='Components' RelativeCacheFilePath='ipad\components.catalog'/> <mi:IntellipadCatalogSource SubDirectoriesOnly='true' DirectoryPath='Samples' RelativeCacheFilePath='ipad\samples.catalog' /> </ipad:IntellipadCore.CatalogSources> <ipad:IntellipadCore.SettingsSources> <mi:IntellipadCatalogSource DirectoryPath='C:\Users\hsomu\AppData\Local\intellipad\Settings' RelativeCacheFilePath='ipad\settings.catalog'/> <mi:IntellipadCatalogSource DirectoryPath='C:\Users\hsomu\AppData\Local\intellipad\Settings\VisualStudio' RelativeCacheFilePath='ipad\settings-visualstudio.catalog'/> </ipad:IntellipadCore.SettingsSources> </ipad:IntellipadCore>
I made a copy of the Intellipad settings folder at " C:\Users\hsomu\AppData\Local\intellipad\Settings" and pointed my xaml file there instead of the default location. I can now customize the files in that directory and launch Intellipad using a shortcut " ipad.exe /config: C:\Users\hsomu\AppData\Local\intellipad\ipad.xaml". This allows me to customize Intellipad to my heart's content and not worry about breaking anything.
C:\Users\hsomu\AppData\Local\intellipad\Settings
ipad.exe /config: C:\Users\hsomu\AppData\Local\intellipad\ipad.xaml
The PDC build of Intellipad doesn't contain an application manifest so users can run into compatibility issues with UAC enabled. The Oslo SDK installs Intellipad to the 32-bit program files folder under " Microsoft Oslo SDK 1.0\Bin\Intellipad". Trying to customize files in that folder can result in files seeming to appear and disappear depending on how you're looking for them. As an example open Intellipad, create a text file and save it to %ProgramFiles%\test.txt. Then try finding that file in Windows Explorer or via the command prompt. (Hint: it's not under " %ProgramFiles%\test.txt". Try " %LOCALAPPDATA%\VirtualStore\Program Files\test.txt"). Virtualization is a UAC compatibility feature to support legacy applications that need to write these locations. You can learn more about UAC virtualization here.
Microsoft Oslo SDK 1.0\Bin\Intellipad
%ProgramFiles%\test.txt
%LOCALAPPDATA%\VirtualStore\Program Files\test.txt
We've seen incidents where users run into problems starting Intellipad because of the UAC virtualization issues above. If you made changes to your Intellipad files and are trying to undo them, make sure to check under "" %LOCALAPPDATA%\VirtualStore" to make sure there are no files in there that are getting picked up. The fastest way to get there is to use the "Compatibility Files" button in Windows Explorer (This button only shows up if there are files in VirtualStore). If you have files in the VirtualStore, Intellipad may pick them up when it's loading extensions and settings. Uninstalling the Oslo SDK does not clean up files in the virtual store.
%LOCALAPPDATA%\VirtualStore