setup project: how to add a custom form and make the form as default

  • Thread starter Thread starter Jason
  • Start date Start date
J

Jason

How do I deploy a custom form through Outlook add-in setup? I wrote custom
code for windows service installtion but I don't know this add-in thing.

I know how to make the form as default by setting registry. Can I add those
registry values to the existing entries on the setup project registry tab?
 
I figured out the first question. Now I can publish a form from msi.However
it has problem, the outlook.exe does not terminate, even after
System.Runtime.InteropServices.Marshal.ReleaseComObject(app).


Still have problem in default form setting. I'll create a new thread.
 
Are you creating an Outlook process? If so and Outlook wasn't running before
you did that you need to use app.Quit() to shut down Outlook before
releasing the app object. Make sure all of your other Outlook objects are
released before you call Quit(), then release app.
 
Did not work. All variables were set to null before app.QUit() was issued. I
even used scope

Outlook.Application app = new Outlook.Application();

{
...
}

app.Quit();

System.Runtime.InteropServices.Marshal.ReleaseComObject(app);


May be MSI package and installer class work differently.

Anyway I gave up. I moved the publish function to the setup form inside
add-in. User has to provide some info before they can use the add-in.
 
In managed code setting an object to null does not necessarily release the
RCW, that's only after the GC runs at some undetermined time. To fully
release objects call Marshal.ReleaseComObject() on the object and if
necessary call it in a loop until the return int is 0.

FWIW, if I have an addin I do my form publishing in the addin code on first
run and never during installation.
 
Thought about that but don't want to have that kind of trouble. Do the
publish in the first run or until it is needed is better idea.
 
Back
Top