I would very strongly recommend using a shim. If you don't then you're in
the same AppDomain as any other unshimmed managed code running in Outlook.
That means that any unhandled exception in any of that code, not just yours,
or a crash in any of that code will end up disabling all those applications.
If you're in your own AppDomain from a shim only your own code gets
disabled, and if any other application causes problems only that gets
affected, not your code.
For a pure Outlook 2007 solutiion you can use either a standard setup
program or you can use a ClickOnce deployment. With a shimmed solution the
ManagedAggregator code and the addin code aren't registered for COM, only
the shim dll is registered. It then loads the addin when Outlook calls for
it. You add the primary outputs of the ManagedAggregator, addin and shim to
the setup project, deploy any dependencies you need and make sure that the
registrations are set up.
For ClickOnce deployment you can review the material at
http://msdn.microsoft.com/en-us/library/t71a733d(VS.80).aspx for lots of
information.
The Shim Wizard information and download is at
http://msdn.microsoft.com/en-us/library/bb508939.aspx.