Dotneteers.net
All for .net, .net for all!

LearnVSXNow! #8: Intermezzo — The regpkg.exe utility

 

When I started to write the next post for the series “Creating our first toolset”, I realized that my registry is polluted with the package registration entries for my former sample projects. While I cleaned up the “junk” by unregistering those packages, I got into an “intimate” relation with regpkg.exe. Previously I planned to wrote a post about this topic, but at this point I decided not to postpone it even if I had to make a short unexpected break.

So, in this post you can read those stuff I think is important to know about this utility. The VS 2008 SDK documentation does not tell too much about regpkg.exe, here I try to help you with some predigested information from my experience.

Getting familiar with regpkg.exe

If you read the previous posts and created the sample packages, till this time you have a few VSPackages registered under the experimental hive of Visual Studio. Due to the registrations your registry (and your VS Experimental Hive) gets polluted with unused but still registered packages. To clean up this mess, we are going to have a closer look of regpkg.exe and use it to unregister the packages.

Any package and its objects (like menu commands and tool windows) can be integrated with Visual Studio IDE through the registration process driven by the regpkg.exe utility that ships with the VS 2008 SDK (and of course with SDKs related to VS 2005). This utilities responsibility is to register and unregister VSPackages, and to provide utility functions for “manual” registration and removal.

Which regpkg.exe to use?

If you have installed VS 2005 SDK and VS 2008 SDK on your computer, you have two versions of regpkg.exe utilities on your machine. Each can co-operate only with the package developed in the corresponding version of VS SDK. If you put the folder name of any regpkg.exe into the environment variable in order to find them automatically, you may have problems by running the incorrect version. When you get an error message about failed package registration the number one reason can be the wrong regpkg.exe version.

The VS 2008 SDK version of the utility can be found under your VS 2008 SDK installation folder (see the VSSDK90Install environment variable) in VisualStudioIntegration\Tools\Bin. Under Bin you can find a VS2005 folder and there is the VS 2005 SDK version of regpkg.exe.

Why is this difference between the two versions? The regpkg.exe scans a .NET binary for attributes attached to a Package derived class. These attributes are defined in the Microsoft.VisualStudio.Shell.dll interop assembly for VS 2005 and in the Microsoft.VisualStudio.Shell.9.0.dll for VS 2008. The registration attributes (even having the same name) are different and so regpkg.exe does not find them.

You can check this behavior. Remove the reference for the ~Shell.9.0.dll for any VSPackage project and add instead a reference to the ~Shell.dll interop assembly. When you compile your VSPackage you will get a “No registration data found in this assembly” error message. This message comes after you successfully compiled you package, since changing the reference assemblies does not cause compilation failure. You get the message from the MSBuild task that run regpkg.exe, and the reason of the failure is the problem with the registration attributes.

What does regpkg.exe do?

Regpkg scans the specified assembly and looks for attributes that are related to registration. Collects those attributes and creates a list of entries to be used for further processing. By the command line parameters of regpkg.exe we can tell what to do with this registration entry list. We can

—  Export those entries into files to be used later by an installation program (.msi file).

—  Write them to the registry — and so register our package.

—  Delete them from the registry — and so unregister the package.

Using regpkg.exe

When you run regpkg.exe you must pass the name of you assembly along with options (in form of command line parameters) to be used for registration. Regpkg.exe accepts the following command line syntax:

regpkg.exe [options] AssemblyPath

AssemblyPath is the path to your assembly relative to the current folder where you run regpkg. The options specify the operation what you expect and the location of registration entries. The following table summarizes the options you can use with the utility:

Option Description
/ranu

This option is required when you develop a VSPackage with a user account that is not the machine administrator and you want to modify the registry. By using this option registry modification is done within the HKEY_CURRENT_USER hive. I suggest always using this attribute while in development phase.

/root:RegRoot

Specifies the root item of the registry affected by modifications (key insertion or removal). If not specified, regpkg.exe searches for the DefaultRegistryRoot attribute in the specified assembly to guess out the value of this parameter.

While developing a package you generally use the Visual Studio Experimental Hive, so you must use the Software\Microsoft\VisualStudio\9.0Exp root. Regpkg.exe will put the entries in the Configuration key and its subkeys under the root you specify.

/unregister

Use this option to sign that you want to remove package information from the registry. You cannot use this option together with any of the file options described in the next row.

/regfile:FileName
/rgsfile:FileName
/vrgfile:FileName
/wixfile:FileName
/rgm

Using any of this options forces regpkg.exe to export registry settings into files to be used by external utilities (e.g. installation programs). The first four options must specify a filename: this is the name of the output file. You can use only one of these options they cannot be combined. The file types are .reg, .rgs, .vrg and .wix according to the specified option. When you choose the /vrgFile option you can also create an additional .rgm file by adding the /rgm option.

If you want to see what kind of information is about to write into the registry, I suggest you to use the /regfile option. After running regpkg.exe you can open the .reg file in Notepad to see the results. By running the .reg file you can merge the information right into the registry.

/CodeBase
/Assembly

When registering a package the assembly containing the package also should be registered, since it have to be loaded into the memory in order to run its code. This assembly can be registered by either with its full name to load from GAC (/Assembly option) or with its physical path (/CodeBase option) to load it from that path.

Examples

Let’s look some examples of using regpkg.exe!

Creating a .reg file

The following example creates an EmptyPackage.reg file for the registry items related to the EmptyPackage project treated in Part #2:

regpkg.exe /regFile:.\EmptyPackage.reg /ranu Ä

  /root:Software\Microsoft\VisualStudio\9.0Exp .\bin\Debug\EmptyPackage.dll

After running this command line, we can look into the .reg file:

REGEDIT4

 

[HKEY_CURRENT_USER\9.0Ex\Configuration\InstalledProducts\EmptyPackagePackage]

@="#110"

"Package"="{223643a0-af7c-4741-99df-e9641691af50}"

"ProductDetails"="#112"

"PID"="1.0"

"LogoID"="#400"

 

[HKEY_CURRENT_USER\9.0Ex\Configuration\Packages\{223643a0-af7c-4741-99df-e9641691af50}]

@="MyCompany.EmptyPackage.EmptyPackagePackage, EmptyPackage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"

"InprocServer32"="C:\\Windows\\system32\\mscoree.dll"

"Class"="MyCompany.EmptyPackage.EmptyPackagePackage"

"Assembly"="EmptyPackage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"

 

[HKEY_CURRENT_USER\9.0Ex\Configuration\Packages\{223643a0-af7c-4741-99df-e9641691af50}]

"ID"=dword:00000001

"MinEdition"="Standard"

"ProductVersion"="1.0"

"ProductName"="EmptyPackage"

"CompanyName"="MyCompany"

This file contains three sections under the Configuration registry key. The first and third sections reflect one attribute of the EmptyPackagePackage class in the package source code, as we can recognize:

[InstalledProductRegistration(false, "#110", "#112", "1.0", IconResourceID = 400)]

[ProvideLoadKey("Standard", "1.0", "EmptyPackage", "MyCompany", 1)]

[Guid(GuidList.guidEmptyPackagePkgString)]

public sealed class EmptyPackagePackage : Package { ... }

The second section describes the assembly and the package using the Guid attribute.

Registering the package

Omitting the /regfile option our package information goes directly to the registry instead of a file:

regpkg.exe /ranu /root:Software\Microsoft\VisualStudio\9.0Exp Ä

  .\bin\Debug\EmptyPackage.dll

We can check how this command line works when opening regedit.exe and looking for the InstalledProducts subkey under the key according to /root:

Unregistering the package

I suppose, you guess how to unregister our package. Yes, we simply add the /unregister option to the command line:

regpkg.exe /unregister /ranu /root:Software\Microsoft\VisualStudio\9.0Exp Ä

  .\bin\Debug\EmptyPackage.dll

Using regedit.exe you can check that the EmptyPackagePackage registration key has been deleted.

Unregistering packages during development

It would be nice if we could add something to our projects to clean up unnecessary packages from the VS Experimental Hive. We can do it be many possible ways. I suggest you one of the simplest: add a command file (.cmd) to your package projects and put the regpkg.exe call with the /unregister option. Use a command file like this:

"%VSSDK90Install%\VisualStudioIntegration\Tools\Bin egpkg.exe" /unregister /ranu /root:Software\Microsoft\VisualStudio\9.0Exp .\bin\Debug\<your .dll>

pause

I suggest calling regpkg.exe with the VSSDK90Install environment variable to avoid collision with the VS 2005 SDK’s regpkg.exe. I supposed you put the command file in the same folder as the project’s .csproj file. If you did not, please modify the path of your .dll file accordingly.

Do not forget about the fact that when you build the package it will be registered again. If you use a solution with more than one package it is worth to put a .cmd file into the solution folder to unregister all packages in the solution.

Where we are?

Now we have a closer look about what regpkg.exe is and how it works. Because VS 2005 SDKs and VS 2008 SDK use different regpkg.exe files, be careful and always use the correct one.

With this utility you can put registration entries into a file and examine it before actually registering the package. It can help to see what’s behind or even in the case of package registration troubleshooting.

It is a good practice to add a command file to your project to unregister it manually on your demand.


Posted Jan 22 2008, 06:40 PM by inovak
Filed under:

Comments

Sean Allison wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sun, Feb 8 2009 13:58

If you get error "regpkg : error : Invalid URI: The format of the URI could not be determined", beware SDK 1.1 may cause this.

Correct with this .cmd file:

"%VSSDK90Install%\VisualStudioIntegration\Tools\Bin\regpkg.exe" /unregister /ranu /root:Software\Microsoft\VisualStudio\9.0Exp "%CD%\bin\Debug\emptypackage.dll"

pause

Elaina wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Mar 23 2009 10:51

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.

Elaina

www.freearticletrove.com

Eyal Kobrigo wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Apr 30 2009 11:06

If we are in the extending the visual studio environment business. then lets go all the way. I have written a macro that unregister a the packages that are selected in the solution explorer. no need to write a cmd file for each package that you create. one macro to "rule" them all. This macro sends it's output to the general output pane.

Here it is:

REM unregister the package within the current context (the project that the files you are opened in the editor or selected in the solution explorer)

   Sub UnregisterPackage()

       Dim win As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)

       Dim outputWindow As OutputWindow = win.Object

       Dim outputWindowGeneralPane As OutputWindowPane = outputWindow.OutputWindowPanes.Item("General")

       Dim strOutputMessage As String

       For Each proj As EnvDTE.Project In DTE.ActiveSolutionProjects

           Dim strRelativeOutputPath As String

           Dim strProjectPath As String

           Dim strAblouteOutputPath As String

           Dim fullPath As String = proj.Properties.Item("FullPath").Value.ToString()

           Dim outputPath As String = proj.ConfigurationManager.ActiveConfiguration.Properties.Item("OutputPath").Value.ToString()

           Dim outputDir As String = Path.Combine(fullPath, outputPath)

           Dim outputFileName As String = proj.Properties.Item("OutputFileName").Value.ToString()

           Dim assemblyPath As String = Path.Combine(outputDir, outputFileName)

           'regpkg.exe /unregister /ranu /root:Software\Microsoft\VisualStudio\9.0Exp .\bin\Debug\EmptyPackage.dll

           strOutputMessage = "unregistering package: " + assemblyPath + vbCrLf

           outputWindowGeneralPane.OutputString(strOutputMessage)

           Dim VsSDK90InstallationPath = System.Environment.GetEnvironmentVariable("VSSDK90Install")

           VsSDK90InstallationPath += "VisualStudioIntegration\Tools\Bin\"

           Dim strRegPackFullPath = VsSDK90InstallationPath + "regpkg.exe"

           Dim myprocess As System.Diagnostics.Process = New System.Diagnostics.Process()

           myprocess.StartInfo.FileName = strRegPackFullPath

           myprocess.StartInfo.RedirectStandardOutput = True

           myprocess.StartInfo.UseShellExecute = False

           myprocess.StartInfo.Arguments = "/unregister /ranu /root:Software\Microsoft\VisualStudio\9.0Exp " + assemblyPath

           myprocess.Start()

           Dim output As String = myprocess.StandardOutput.ReadToEnd()

           myprocess.WaitForExit()

           output += vbCrLf

           outputWindowGeneralPane.OutputString(output)

       Next

   End Sub

Enjoy

  Eyal Kobrigo

inovak wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Apr 30 2009 11:21

Hey Eyal,

Thanks for your macro! I try it as soon as I can...

ChrisLandowski wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Nov 7 2009 16:53

In the above UnregisterPackage macro, the line :

myprocess.StartInfo.Arguments = "/unregister /ranu /root:Software\Microsoft\VisualStudio\9.0Exp " + assemblyPath

should be changed to:

myprocess.StartInfo.Arguments = "/unregister /ranu /root:Software\Microsoft\VisualStudio\9.0Exp """ + assemblyPath + """"

This will allow the macro to function properly when the assembly path contains spaces.

Chengwei Lin wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Jul 12 2012 12:21

I'm the same as Elaina in that I really enjoy this series of learning VSX articles! You have written each piece concisely and clearly. I will definitely go on following this series. Thank you for making it available on the net!

buyviagra online wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Feb 23 2013 19:11

NRGMJc I really liked your blog article.Really thank you! Great.

advertising Austin wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 1:36

Thanks again for the blog post.Really looking forward to read more. Really Great.

SEO San Diego wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 8:48

Thanks for the article post.Much thanks again. Really Cool.

advertising agency Austin wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 9:09

A round of applause for your blog.Much thanks again. Awesome.

SEO Companies in Texas wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 10:40

Major thanks for the article.Really thank you! Cool.

http://clomidnoprescription.beep.com/ wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 15:08

I really enjoy the blog post. Will read on...

Invisalign dentist in Yorba Linda wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 15:21

Im obliged for the article.Really looking forward to read more. Will read on...

Pasadena Plastic Surgery wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 16:37

I really like and appreciate your article post.Really looking forward to read more.

Los Angeles Tummy Tuck wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 16:37

Really enjoyed this blog article.Much thanks again. Want more.

Los Angeles Liposuction wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 17:57

I truly appreciate this blog.Really thank you! Much obliged.

Lift Riverside wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 18:08

Very good article post.Thanks Again. Will read on...

Los Angeles Rhinoplasty wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 19:19

Really appreciate you sharing this article post. Really Cool.

Buccal Fat Removal wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 20:39

Great, thanks for sharing this blog post.Thanks Again. Really Great.

Shredding Los Angeles wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 21:59

Muchos Gracias for your post.

Tissue Packaging Paper wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 23:44

I really like and appreciate your article post. Great.

document shredding orange county wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Mon, Feb 25 2013 23:50

Looking forward to reading more. Great blog post.Thanks Again. Keep writing.

collins elite diary wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 1:05

Very informative blog article.Really looking forward to read more. Keep writing.

shredding san diego wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 1:18

Thanks for the article post.Really looking forward to read more. Cool.

clipboards wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 2:34

I cannot thank you enough for the blog article. Really Cool.

badges and emblems wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 2:45

Hey, thanks for the blog article.Really looking forward to read more. Awesome.

year planners wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 3:59

Really appreciate you sharing this blog post.Thanks Again. Want more.

Mobile Application Development wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 4:13

I loved your article.Really looking forward to read more. Much obliged.

office diary wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 7:08

I really enjoy the article post.Really looking forward to read more. Cool.

hard back envelope wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 8:45

Major thanks for the article post.Really thank you! Keep writing.

professional development wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 9:37

Major thankies for the blog post. Much obliged.

over 50 life insurance wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 10:25

I really enjoy the blog post.Really looking forward to read more. Really Great.

doing business with wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 11:31

Great article.Thanks Again. Cool.

T Cards wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 12:22

Major thankies for the blog post.Thanks Again. Great.

How To Get A Gig wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 13:23

Really appreciate you sharing this blog article.Really looking forward to read more. Want more.

office supplies wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 14:01

Very informative blog article.Much thanks again. Will read on...

conversion rate optimization wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 15:21

A big thank you for your blog article.Thanks Again. Really Cool.

Day to Page diary wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 15:43

This is one awesome post.Much thanks again. Will read on...

Personal Injury Attorney Los Angeles wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 17:19

I truly appreciate this blog.Really looking forward to read more. Fantastic.

contest to get more twitter followers wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 18:25

Thank you ever so for you article.Much thanks again.

Phen375 benefits wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 18:55

Really informative blog.Really looking forward to read more. Cool.

how to make hair grow faster naturally wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 20:02

I loved your post.Thanks Again. Great.

optimization search engine wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 21:14

A big thank you for your blog post.Really looking forward to read more. Really Cool.

los angeles lipo wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 21:15

I truly appreciate this blog article.Really looking forward to read more.

earned money wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 21:46

Hey, thanks for the blog post.Much thanks again. Keep writing.

What is a Domain Name wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 21:58

Fantastic article. Cool.

instagram search people wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 23:09

Great, thanks for sharing this blog article. Want more.

Cheap Android Phones wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 23:23

Major thankies for the article post.Really thank you! Cool.

colonie de vacances wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Tue, Feb 26 2013 23:53

Wow, great post.Much thanks again. Fantastic.

card index box wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 0:34

I think this is a real great article post. Keep writing.

vagas wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 0:57

I cannot thank you enough for the post.Really thank you! Much obliged.

free instagram followers wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 1:02

Enjoyed every bit of your article post. Awesome.

click here for more info wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 1:44

A big thank you for your blog post.Really looking forward to read more. Great.

Bisley filing cabinets wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 1:51

I loved your blog post. Keep writing.

Existing businesses for sale wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 2:33

Thanks so much for the article.Much thanks again. Will read on...

kim kardashian website wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 2:53

I cannot thank you enough for the post.Really looking forward to read more. Great.

Paper Trimmer wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 3:13

Wow, great blog.Really thank you! Much obliged.

Kim Kardashian wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 3:37

Wow, great blog article.Really looking forward to read more. Will read on...

trick photography special effects wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 4:10

I cannot thank you enough for the post.Really looking forward to read more. Fantastic.

snopake polyfile wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 4:31

Thanks again for the blog.Really thank you! Really Great.

real instagram followers fiverr wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 4:46

I really like and appreciate your post.Really looking forward to read more. Keep writing.

dating japanese women wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 5:30

A round of applause for your blog post.Much thanks again. Cool.

marketing services wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 5:50

I really like and appreciate your post.Really looking forward to read more. Great.

buy more likes on instagram wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 6:40

I am often to blogging and i really appreciate your content. The article has really peaks my interest. I am going to bookmark your site and keep checking for new information.

sellotape wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 7:12

I loved your article post.Thanks Again. Much obliged.

wood working wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 7:25

Thanks for sharing, this is a fantastic article. Fantastic.

nikon D5100 best price in pune wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 7:28

I cannot thank you enough for the article post. Want more.

office stationery wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 8:26

Thanks for sharing, this is a fantastic article post.Much thanks again. Fantastic.

what is gyro meat wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 9:08

Thank you ever so for you article. Want more.

buy real instagram followers wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 9:24

Say, you got a nice post.Really looking forward to read more. Really Great.

office stationary wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 9:42

I value the article.Really looking forward to read more. Cool.

Drain Cleaning Tool wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 9:52

I am so grateful for your blog article.Really looking forward to read more. Awesome.

cheap facebook likes wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 10:47

Im thankful for the blog post.Really looking forward to read more. Keep writing.

online jobs from home wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 12:29

I appreciate you sharing this blog article.Really thank you!

office suppliers wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 12:45

Very neat blog article.Really looking forward to read more. Much obliged.

agen bola terpercaya wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 13:15

I really enjoy the blog article.Really thank you! Awesome.

dallas roofers wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 14:24

Muchos Gracias for your post.Really looking forward to read more. Great.

clomid no prescription wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 16:13

V8I2S8 wow, awesome post.Really thank you!

SEO expert wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 16:18

Im obliged for the blog post. Cool.

oil paintings sale online wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Wed, Feb 27 2013 18:14

Im thankful for the article.Thanks Again. Keep writing.

ginny simon wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Feb 28 2013 0:11

Thanks again for the article post.Much thanks again. Really Cool.

wooden hot tubs wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Feb 28 2013 6:14

I really like and appreciate your blog post.Much thanks again. Much obliged.

small business wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Feb 28 2013 8:15

Im thankful for the article. Awesome.

Vpn wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Feb 28 2013 19:23

Thanks again for the blog.Really looking forward to read more. Awesome.

ourmeds wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Thu, Feb 28 2013 21:00

I really enjoy the article.Really looking forward to read more.

Anadolu jet ucak bileti|Anadolu jet ucak bileti wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 10:49

Major thankies for the blog article.Much thanks again. Awesome.

GeForce GTX 690 wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 11:26

I truly appreciate this article.Really looking forward to read more. Want more.

foc de artificii wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 12:53

Very neat post.Really thank you! Really Great.

escort agency wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 13:01

Thanks-a-mundo for the blog article.Really looking forward to read more. Much obliged.

adjustable dumbbell review wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 14:36

Muchos Gracias for your article post.Really thank you! Great.

social bookmarking wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 15:46

This is one awesome article post.Really thank you! Really Cool.

mode grande taille wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 16:05

Thanks for sharing, this is a fantastic blog post.Really thank you! Fantastic.

discount prices wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 16:12

This is one awesome article post. Really Cool.

dublin visitor card wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 17:44

Very informative blog article.Thanks Again. Will read on...

make money online wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 17:47

Thanks for sharing, this is a fantastic blog article.Much thanks again. Keep writing.

how to light video wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 17:51

Great, thanks for sharing this blog post. Cool.

medical equipment wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 19:30

Thanks so much for the blog post.Really thank you! Awesome.

Multilevell marketing wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 19:56

I really liked your post.Thanks Again.

watch here wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 20:38

Thanks-a-mundo for the blog.Much thanks again. Much obliged.

Ferienwohnung cuxhaven wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 21:13

Really enjoyed this blog article.Thanks Again. Really Cool.

halovar wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Fri, Mar 1 2013 22:56

Thanks again for the article.Really thank you! Fantastic.

go here wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 0:06

Thanks-a-mundo for the article post.Thanks Again. Really Cool.

oxyelite wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 0:39

Thanks-a-mundo for the blog.Thanks Again. Really Cool.

lipo 6 black wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 2:23

Awesome article post.Thanks Again. Will read on...

fertility pharmacy wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 2:53

Enjoyed every bit of your blog.Really thank you! Awesome.

make your own website wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 4:06

Im thankful for the article post.Thanks Again. Cool.

cracked seo tools wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 4:17

Very informative article.Really looking forward to read more. Great.

kitchens manchester wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 4:56

Really enjoyed this article.Much thanks again. Awesome.

cheap auto insurance wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 5:51

Hey, thanks for the blog article.Thanks Again. Want more.

Digital camera picture recovery wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 6:59

Thank you for your blog post. Awesome.

Easy To Get Payday Loans wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 7:35

Great, thanks for sharing this blog.Really looking forward to read more. Keep writing.

die cut machine wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 9:04

Thanks-a-mundo for the blog.Really looking forward to read more. Fantastic.

seo services adelaide wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 9:19

Really appreciate you sharing this post.Really looking forward to read more. Awesome.

gold buyers wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 11:06

I value the blog article.Much thanks again. Cool.

Get Twitter followers wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 11:55

Really appreciate you sharing this blog post. Awesome.

green coffee bean reviews wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 12:53

I loved your blog article.Much thanks again. Keep writing.

Brandable Domains wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 13:32

Thanks so much for the post.Much thanks again. Really Great.

customer service definition wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 14:45

This is one awesome blog article.Thanks Again. Really Cool.

guitar online wrote re: LearnVSXNow! #8: Intermezzo — The regpkg.exe utility
on Sat, Mar 2 2013 15:09

A big thank you for your blog article.Really thank you! Awesome.