-
Notifications
You must be signed in to change notification settings - Fork 300
Installing
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.
- Microsoft Windows Vista or higher
- Microsoft .NET Framework 4.5
Rubberduck is "officially" supported in the following VBE hosts:
- Microsoft Office 2007 or higher
The add-in has been reported to work in 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!
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
There's the odd chance that, despite following all of the above steps, you bring up the VBE and see this after installing:
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
rubberduckvba.com
© 2014-2021 Rubberduck project contributors
- Contributing
- Build process
- Version bump
- Architecture Overview
- IoC Container
- Parser State
- The Parsing Process
- How to view parse tree
- UI Design Guidelines
- Strategies for managing COM object lifetime and release
- COM Registration
- Internal Codebase Analysis
- Projects & Workflow
- Adding other Host Applications
- Inspections XML-Doc
-
VBE Events