Re: ViEmu for a single user only


I installed ViEmu at work and have grown to like it. However, we share development machines and ViEmu loads and runs for every windows user. Is there a way to have load ViEmu only when I am logged in and not for the other accounts? Basically I want no trace of ViEmu when anybody other than me is using Visual Studio.

Cheers, Felix


Re: ViEmu for a single user only

This is a bit difficult, not because of ViEmu, but because of the Visual Studio architecture. The whole "backbone" of Visual Studio is configured in the HKEY_LOCAL_MACHINE/Software/Microsoft/VisualStudio registry key, which is per-machine rather than per-user. That means that VS will load ViEmu in any case.

The closest, which is doable, is disabling ViEmu, which is configured by a per-user registry entry:


(7.1 is for VS.NET 2003, 8.0 is for VS2005, and 9.0 for VS2008).

The problem here is that, by default, ViEmu assumes Enable to be "1" if it's not present. You will have to manually set it to "0" for other user accounts.

Another approach to this is to add and remove the package manually every time you use Visual Studio. You need access to HKEY_LOCAL_MACHINE. You need to modify the following:


Again, 7.1 is for VS.NET 2003, user 8.0 and 9.0 for VS2005 and VS2008. What you need to do, to disable loading ViEmu altogether, is to edit the name of this entry to make it illegal. I usually add an underscore to the name, leaving it as "_{86EEBA48-56EC-43E8-AAA2-3A7A8DD83332}".

All in all, it's not an easy thing, due to VS's package architecture (this is much simpler for SQL Server and Microsoft Office add-ins). Let me know if the above lines work, and also if you need any more clarification.


  -- Jon