Where does Outlook Custom form reside? Trying to add it to MDT

After you import a custom form into OL, is it stored in a particular directory or is it stored w/in the application itself?
Mark O'BrienDispatch Software Support and Server AdministrationAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Chris Raisin(Retired Analyst/Programmer)Commented:
I would think it is stored within the application (vbp) itself. I am checking it out though to see if I can ascertain a location should this not be the case.

Stand by.....
Chris Raisin(Retired Analyst/Programmer)Commented:
Well, yes, it is definately embedded.

I created a form then searched my entire system to find a trace of it and it was nowhere to be found.

I then went into the project I created within Outlook (under "Developer", VB Editor) and looked at the Form.

I decided to export the form to a hard drive and look at its internals.

The form was called UserForm1, and it's internals looked like this:

Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1
   Caption         =   "UserForm1"
   ClientHeight    =   3225
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   4710
   OleObjectBlob   =   "UserForm1.frx":0000
   StartUpPosition =   1  'CenterOwner
Attribute VB_Name = "UserForm1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub UserForm_Click()

End Sub


There was an additional file created with an "frx" extension which is a binary file.

The Binary code translated to the following ASCII:

Internals of frx (form) file (ASCII translation of binary)
You will see that it is providing the file "UserForm1.frm" with a call to the Root entry in the Windows library files for "Forms.Form1" an embedded form within Windows Forms 2.0 Library (which is encased in the library file
"C:\Program Files\Microsoft Office 15\Root\VFS\SystemX86\FM20.dll" (on a 64 bit machine)

The form links to the frx file via its internal entry which states:
              OleObjectBlob   =   "UserForm1.frx":0000

Note that the frx file must exist in the same folder as the frm file.

You can then import that file into another project.

So if you have designed a form and you want to use it in another project, simply right click on the form in your Project Explorer within the Outlook VBE  and "Export" the form to a desired folder. Then you can import that form into another project. (Don't forget to keep the frx file in the same folder though as the frm).

Once you import a form, the external form has no link to the project,
and so even if you delete the frm and frx, the project already has all it needs to know to create the form at run time (of course the DLL library file must be installed on the PC, which is standard with Microsoft Outlook anyway).  

I know you probably know all this, but I thought I would provide a little background for others reading this.

In answer to your actual question, the only place a form exists within an Outlook project (i.e.within Outlook macros) is internally in the Outlook environment (the "runtime" files the Outlook program produces when running macros and other VBA related functions).

You can use Outlook forms elsewhere only by exporting them.

This actually also applies to forms used in any Microsoft Office that uses VBA (PowerPoint, Excel, Word, Outlook, etc.)

Is that the information you were after, Mark?

Chris (Australia)
Helen FeddemaCommented:
It is also a good idea to publish the custom form to either the Personal Forms Folder or the Organizational Forms folder.
Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

Chris Raisin(Retired Analyst/Programmer)Commented:
Thanks Helen....

That is a good and valid point when publishing.

Although that is not directly related to the question, it is good you mentioned it, since publishing makes it easier for people to find forms and use them especially with templates or internal to the Outlook system itself (e.g. changing the way Outlooks own forms appear and function).

A good reference about this is:

That article includes a reference to a nice clear explanation of publishing in a short video on YouTube:

It also points out that special notice should be taken when using Outlook 2013 because of a bug in templates for custom forms (also known as Office templates or .oft files). If using Outlook 2013, publish your forms as FDM files (Form Definition modules) instead of templates to avoid the bug.

Apart from the ability to share forms whether published or saved to personal folders, the answer to your question,Mark, remains that forms are internal to the Outlook system and cannot be physically designed external to Outlook.

Mark O'BrienDispatch Software Support and Server AdministrationAuthor Commented:
So it's impossible to package this into our image.  hmmmm
Chris Raisin(Retired Analyst/Programmer)Commented:
Nothing is ever impossible. What exactly do you mean ? What complier are you using to create the package and what
is your project exactly about?

Mark O'BrienDispatch Software Support and Server AdministrationAuthor Commented:
Mark O'BrienDispatch Software Support and Server AdministrationAuthor Commented:
Trying to add it to the image
Chris Raisin(Retired Analyst/Programmer)Commented:
OK, you are using the Microsoft Deployment Toolkit, but what is the package exactly? Is it a Visual Studio deployment or are you simply trying to send a form to multiple machines on a network for people to use within their outlook environment?

I suspect the latter, in which case all you need to do is go into Outlook, and "Export" your form to a designated folder.
You go into Outlook's Project explorer, find your form and right mouse-click on it.

Select "Export File" and then select your folder.

Leaving Outlook  you will then find in your destination folder two files, one ending in ".frm" and one ending in ",frx"
These would be the two files you need to include in your distribution.

You would then instruct users to "Import" the file (one only...the ".frm" one) into their Outlook.
There would be a way to automate this so users would simply run an executable at their end to import the form into their Outlook environment, but that should be posed as a separate question if you cannot work out a way to do it.

Do I have the scenario correct?


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Mark O'BrienDispatch Software Support and Server AdministrationAuthor Commented:
Oh.  Im talking about our corporate image.
Chris Raisin(Retired Analyst/Programmer)Commented:
You are talking about a graphic then, not a computer application?
Mark O'BrienDispatch Software Support and Server AdministrationAuthor Commented:
We're using MS Development Toolkit to build and hold our image.  Im trying to find a way to get the OL Form into the MDT image.
Chris Raisin(Retired Analyst/Programmer)Commented:

I assume you meant MS Deployment Toolkit.

So follow my instructions at 40701827 (above) and incorporate the ".frm" and ".frx" files into your image.
what you are after is to include the form in your distribution for use by Outlook.

You will then deploy these files to reside in a designated folder which is common to all your groups PCs
(e.g. "c:\Users\Public\Public Documents")

You would then need to either put in place automation  to import the form from its location into the users Outlook
environment or (much less desirable) ask each user to go into "Developer" within Outlook and import the form from the designated location into their Outlook. (That is asking for problems!)
Mark O'BrienDispatch Software Support and Server AdministrationAuthor Commented:
ok will try this
Mark O'BrienDispatch Software Support and Server AdministrationAuthor Commented:
closing. was trying to help my teammate with this.
not sure if it worked but thank you.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.