Installing

bclothier edited this page Aug 13, 2018 · 21 revisions

The easiest way to use Rubberduck is to download the latest installer from our releases page. You can choose:

If you want to contribute to the project, please see the Contributing page.

System Requirements

  • Microsoft .NET Framework 4.6
  • Windows Vista Service Pack 2 or Windows 7 Service Pack 1 or higher
    • Windows Vista RTM, Windows Vista SP1 and Windows 7 RTM are not supported
    • Windows prior to Windows 10 may require installation of the .NET framework

Rubberduck is "officially" supported in the following VBE hosts:

  • Microsoft Office 2007 or higher

The add-in has been reported to work in Office 2000/2003 as well as a number of other non-Office hosts and we try to not restrict the add-in to any particular host. That said, we regularly test and develop against one of those host application:

  • Microsoft Office Excel
  • Microsoft Office Access
  • Microsoft Office Word
  • Microsoft Office PowerPoint

For that reason, we can't guarantee 100% compatibility with all hosts. If you do find an issue, by all means, please share on GitHub!


Installing for non-admin users

NOTE: Not all VBA hosts may support per-user installation. This has been tested on most VBA hosts but there are at least one known case where this doesn't work and requires an admin install (Sage in this case). However, Office hosts should work.

The Rubberduck installer does not require administrative privileges to install if you use the per user mode. Administrative privileges is only required if you want to install for all users on the same machine, notably to register the COM types that enable the unit testing feature. Because VBE add-ins need to be registered under the HKCU registry hive, the installer will create the Addins key for the admin user that is running the installer.

When running the installer for per-user mode, the installer will register the add-in for you. However, it cannot register for other users on the machine. Therefore, to register the add-in for a non-admin user who didn't install the Rubberduck but can access it on the same machine, the user needs to run Register VBE Add-in under the start menu to enable the user of Rubberduck for their profile.

If you want to create a login script and use it as a company-wide policy, the following PowerShell commands may be helpful in doing the equivalent:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
New-Item -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns\Rubberduck.Extension' -Force
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns\Rubberduck.Extension' -Name Description -PropertyType String -Value 'Rubberduck'
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns\Rubberduck.Extension' -Name FriendlyName -PropertyType String -Value 'Rubberduck'
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns\Rubberduck.Extension' -Name LoadBehavior -PropertyType DWord -Value 3

New-Item -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Force
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Name Description -PropertyType String -Value 'Rubberduck'
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Name FriendlyName -PropertyType String -Value 'Rubberduck'
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Name LoadBehavior -PropertyType DWord -Value 3

This is now included in the release as a shortcut in the start menu folder or at C:\ProgramData\Rubberduck\Rubberduck.RegisterAddIn.bat


Troubleshooting: Rubberduck Add-In could not be loaded

There's the odd chance that, despite following all of the above steps, you bring up the VBE and see this after installing:

HRESULT E_FAIL error at startup

It seems sometimes, the installer fails to correctly register Rubberduck's COM types, for a reason that remains to be found.

There's an easy fix though. NOTE: This requires admin privilege because it will write to the HKLM hive:

Note: the bitness of your OS is irrelevant.

Bring up an administrative command prompt (cmd.exe), and execute one of the following commands:

32-bit host:

c:\windows\microsoft.net\framework\v4.0.30319\regasm.exe "(path to install folder)\rubberduck.dll" /codebase /tlb

64-bit host:

c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "(path to install folder)\rubberduck.dll" /codebase /tlb

You should see these output messages:

Microsoft .NET Framework Assembly Registration Utility version 4.6.1038.0 for Microsoft .NET Framework version 4.6.1038.0 Copyright (C) Microsoft Corporation. All rights reserved.

RegAsm : warning RA0000 : Registering an unsigned assembly with /codebase can cause your assembly to interfere with other applications that may be installed on the same computer. The /codebase switch is intended to be used only with signed assemblies. Please give your assembly a strong name and re-register it.

Types registered successfully


Troubleshooting: Rubberduck settings in Registry

There is another method available to verify your Rubberduck settings on your local PC/Laptop's registry. We have a Powershell script is available at https://raw.githubusercontent.com/PeterMTaylor/RDVBAUtility/master/Search-Registry.ps1 which can be copied raw and saved on your PC/Laptop.

By running this command .\Search-Registry.ps1 -StartKey HKLM:\SOFTWARE -Pattern Rubberduck -MatchData will list all settings across various keys associated with term "Rubberduck" that are recorded in your registry.

The following output shows a Powershell script example displaying entries found in the registry. At times, will display a red message that certain entries are not permitted, this is a normal operation as we cover all aspects to verify settings.

ComputerName Key Value Data


MY-PC HKLM\SOFTWARE\Classes\Record{0322CB26-883A-31C7-950A-BC7E34F31195}\2.0.0.38498 Class Rubberduck.API.DeclarationType
MY-PC HKLM\SOFTWARE\Classes\Record{0322CB26-883A-31C7-950A-BC7E34F31195}\2.0.0.38498 Assembly Rubberduck, Version=2.0.0.38498, Culture=neutral, PublicKeyToken=null
MY-PC HKLM\SOFTWARE\Classes\Record{0322CB26-883A-31C7-950A-BC7E34F31195}\2.0.0.38498 CodeBase file:///C:/Users/Peter/Dropbox/Doing/Github/Rubberduck/RetailCoder.VBE/bin/Debug/Rubb...
MY-PC HKLM\SOFTWARE\Classes\Record{F7B1C678-2328-3F28-8686-224E71C23C8A}\2.1.2.2693 Class Rubberduck.API.VBA.Accessibility
MY-PC HKLM\SOFTWARE\Classes\Record{F7B1C678-2328-3F28-8686-224E71C23C8A}\2.1.2.2693 Assembly Rubberduck, Version=2.1.2.2693, Culture=neutral, PublicKeyToken=null
MY-PC HKLM\SOFTWARE\Classes\Record{F7B1C678-2328-3F28-8686-224E71C23C8A}\2.1.2.2693 CodeBase file:///C:/ProgramData/Rubberduck/Rubberduck.DLL MY-PC HKLM\SOFTWARE\Classes\Rubberduck.AssertClass Rubberduck.UnitTesting.AssertClass
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.Credentials Rubberduck.SourceControl.Interop.Credentials
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.Extension Rubberduck._Extension
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.FakesProvider Rubberduck.UnitTesting.FakesProvider
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.ParserState Rubberduck.API.VBA.ParserState
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.PermissiveAssertClass Rubberduck.UnitTesting.PermissiveAssertClass
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.Repository Rubberduck.SourceControl.Repository
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.SourceControlClassFactory Rubberduck.SourceControl.Interop.SourceControlClassFactory
MY-PC HKLM\SOFTWARE\Classes\Rubberduck.UI.DockableWindowHost Rubberduck.UI._DockableWindowHost
MY-PC HKLM\SOFTWARE\Classes\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC8D}\1.0 Rubberduck Source Control 1.0
MY-PC HKLM\SOFTWARE\Classes\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC8D}\1.0\0\win32 C:\Users\Peter\Source\Repos\Test1696\Rubberduck.SourceControl\bin\Debug\Rubberduck.So... MY-PC HKLM\SOFTWARE\Classes\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC8D}\1.0\HELPDIR C:\Users\Peter\Dropbox\Doing\Github\Rubberduck\Rubberduck.SourceControl\bin\Debug
MY-PC HKLM\SOFTWARE\Classes\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC8D}\2.0 Rubberduck Source Control 2.0
MY-PC HKLM\SOFTWARE\Classes\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC8D}\2.0\0\win32 C:\Users\Peter\Source\Repos\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.... MY-PC HKLM\SOFTWARE\Classes\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC8D}\2.0\HELPDIR C:\Users\Peter\Source\Repos\Rubberduck\Rubberduck.SourceControl\bin\Debug
MY-PC HKLM\SOFTWARE\Classes\TypeLib{E07C841C-14B4-4890-83E9-8C80B06DD59D}\2.0 Rubberduck
MY-PC HKLM\SOFTWARE\Classes\TypeLib{E07C841C-14B4-4890-83E9-8C80B06DD59D}\2.0\0\win32 C:\Users\Peter\Source\Repos\RD5fc0039\RetailCoder.VBE\bin\Debug\Rubberduck.tlb MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\CLSID{B2965961-7240-40CD-BE16-9425E2FB003C... Assembly Rubberduck.SourceControl, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null
MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\CLSID{B2965961-7240-40CD-BE16-9425E2FB003C... CodeBase file:///C:/Users/Peter/Source/Repos/Rubberduck/Rubberduck.SourceControl/bin/Debug/Rub... MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\CLSID{B2965961-7240-40CD-BE16-9425E2FB003C... Rubberduck.Repository
MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC... Rubberduck Source Control 1.0
MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC... C:\Users\Peter\Source\Repos\Test1696\Rubberduck.SourceControl\bin\Debug\Rubberduck.So... MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC... C:\Users\Peter\Dropbox\Doing\Github\Rubberduck\Rubberduck.SourceControl\bin\Debug
MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC... Rubberduck Source Control 2.0
MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC... C:\Users\Peter\Source\Repos\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.... MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{41382441-E6FC-473B-91EB-CDD2A515AC... C:\Users\Peter\Source\Repos\Rubberduck\Rubberduck.SourceControl\bin\Debug
MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{E07C841C-14B4-4890-83E9-8C80B06DD5... Rubberduck
MY-PC HKLM\SOFTWARE\Classes\WOW6432Node\TypeLib{E07C841C-14B4-4890-83E9-8C80B06DD5... C:\Users\Peter\Source\Repos\RD5fc0039\RetailCoder.VBE\bin\Debug\Rubberduck.tlb
search-registrykey : Exception calling "OpenSubKey" with "2" argument(s): "Requested registry access is not allowed." - HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SpeechGestures At C:\Users\Peter\Source\Repos\RDUtility\Search-Registry.ps1:184 char:9

  •     search-registrykey $computerName $rootKey $subkeyPath $matchC ...
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
    • FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,search-registrykey MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... Inno ... C:\ProgramData\Rubberduck
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... Insta... C:\ProgramData\Rubberduck\
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... Inno ... Rubberduck
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... Displ... Rubberduck version 2.1.2.2693
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... Unins... "C:\ProgramData\Rubberduck\unins000.exe"
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... Quiet... "C:\ProgramData\Rubberduck\unins000.exe" /SILENT
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... Publi... Rubberduck
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... URLIn... http://rubberduckvba.com
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... HelpLink http://rubberduckvba.com
      MY-PC HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{979AFF96-DD9E-4FC2-... URLUp... http://rubberduckvba.com
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.