Tuesday, April 27, 2010

Installing Visual Studio 2010 Documentation

I chose not to install the documentation immediately after following the installation of Visual Studio 2010. I wasn't sure if I wanted to use up local disk space or rely on the online content. After a few days, I made my decision to install the help files locally.

There is a new help system with Visual Studio 2010 and a new way to install it. The Help Library Manager can be launched from Manage Help Setting under the Help menu within Visual Studio 2010.


Under settings, I found the Library location was already set to the default path of "C:\ProgramData\Microsoft\HelpLibrary" and the field was disabled.


With no way to change the path through the UI, I set out to search the web for answers. I found someone had commented on having a similar problem here:
http://blogs.msdn.com/heaths/archive/2010/02/10/how-to-install-local-help-content-after-installing-visual-studio-2010-rc.aspx

I researched more and found the unattended installation instructions here:
http://msdn.microsoft.com/en-us/library/ee225237.aspx

I posted a comment to Heath Stewart's blog before I had a chance to test the unattended commands. Now that I've had a chance to try a few things, I can say with some certainty that command line won't solve the problem. If the Library location is already set, then the /content parameter is ignored. The help files will be installed to the existing path.

Since the command line option did not work as I had hoped, I resorted to registry hacking. CTRL+F isn't much of a "hack", but it worked. I found a registry key for the Library location:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help\v1.0]

"LocalStore"="C:\\ProgramData\\Microsoft\\HelpLibrary\\"

I tried several things, but the one most likely to succeed was:
  1. Delete the key
  2. Run the Help Library Manager
  3. Set a new path for the Library location (which recreates the key)
  4. Install help files
After deleting the registry key, Help Library Manager prompted me to set a new path for the Library location.


I set the path and selected some topics to install. I saw the source files copy to the path I specified. I watched as the files were extracted and processed. Everything was looking good until an error occurred when merging the indexes:

An error occurred while updating local content: System.ArgumentException: Supplied content path is invalid at Microsoft.Help.Index.Catalog.GetValidContentVendorPath(String contentPath, String vendorPath) at Microsoft.Help.Index.Catalog.Modify(String contentPath, String contentWorkPath, String vendorPath, CatalogModificationEntry[] modificationList) at Microsoft.Help.Index.Indexer.ModifyCatalogs(CatalogUpdateRequest[] catalogUpdateRequestList, String queryManifestFilePath) at Microsoft.Help.CacheLib.DocumentationCache.MergeCatalogs(ChangeDescription change, StatusCallback`1 statusCallback) at Microsoft.Help.CacheLib.DocumentationCache.IntegrateChange(VendorName vendorName, ChangeDescription change, StatusCallback`1 statusCallback, CertificateCheckCallback certCheckCallback) at Microsoft.Help.CacheLib.DocumentationCache.Update(VendorName vendorName, Boolean checkForOnlineUpdates, StatusCallback`1 statusCallback, CertificateCheckCallback certCheckCallback) at Microsoft.Help.CacheLib.CacheManager.<>c__DisplayClass24.b__23() at Microsoft.Help.CacheLib.AsyncOperationRunner.Run(Object state)

And that's as far as I could get after several attempts. I reset the installation path to the default location and the help files installed without error!

I'm not sure what to try next, so I may have to settle for the default path. I'd rather not waste space on my C: drive, but I'd also rather not invest more time in a what is a personal preference.

Wednesday, April 14, 2010

Embedded Databases

When I went looking for a small, fast, and reliable embedded database, I cam across three contenders:
I've tried out SQLite briefly before, but I've only recently heard of Firebird. With the release if Service Pack 2 for SQL Server Compact Edition, I'm planning to spend some time there first. Each database is relatively mature, but each also lacks the power and grace of a full-size database server. There will be trade-offs, no matter which one I choose.

Friday, January 1, 2010

Disclaimer

http://blog.archwielder.com/ (hereafter referred to as "this website") provides the following disclaimer:
The views presented in my posts on this website are for your consideration and discussion only, and should not be construed as professional advice. My posts are provided "AS IS" with no warranties, and confer no rights.
The views expressed within my posts on this website are entirely my own and not necessarily those of my employer, my co-workers, my family, my friends, or anyone else that can, in any way, be associated with me or my blog. Any third-party views referenced in my posts may or may not be the same as my own.
Each comment on this website is the sole responsibility of the person who wrote the comment, and that person takes full responsibility for any consequences that result from posting the comment.
This website has no control over inbound links or the content found at the destination of outbound links, and so do not accept responsibility for information linked to this website. This website may inadvertently link to inappropriate or offensive content. This website does not condone, endorse, or take responsibility for such content.
All logos, trademarks, and registered names used or cited by this website are the property of their respective owners. This website does not accept responsibility for any infringement on any logo, trademark, or registered name.

Because a weblog is intended to record information from a specific moment in time, any posts on this website prior to and including the recent one may not reflect current thoughts or opinions. Older posts may contain out-of-date or inaccurate information.

Publication of information found on this weblog may not be legal in your area. This website does not encourage or condone the violation of any laws and cannot be responsible for the violation of such laws.

This website encourages the distribution of its content, where not prohibited by law, provided that proper credit is given. Any reproduction of the content of this website, full or partial, in print or electronically, must credit this website by name and Uniform Resource Locator (URL).

This weblog cannot be held responsible for any offenses without first being notified in writing and allowed a reasonable opportunity to respond to the notice. This weblog cannot be held liable for penalties and damages greater than the share of ad revenue earned from the period of time when a written notice was first received and corrective action was taken.

This disclaimer may be updated at any time, without notice. Please check here for the latest version of this disclaimer.
I found the following resources when researching blog disclaimers:

About Me

My name is Michael Farias. I live in the United States, with my wife, two kids, a cat, and a handful of computers. I am a Microsoft Certified Solution Developer on Microsoft .NET and studying to upgrade to a Microsoft Certified Professional Developer.

I work as a web developer for an e-commerce site by day. I spend evenings and weekends trying out new technologies and working on various entrepreneurial projects. I have spent the past few months developing a small application for Windows Mobile.

I was first introduced to computers when my father brought a TRS-80 Color Computer home from Radio Shack in the early 1980's. I made some early attempts at programming in BASIC at home and in school, but I didn't really start writing software until after college. I began with minimal classroom training and learned the rest "in the trenches".