msoutlook.org Forum Index
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

PublishForm() Seems to be Async!!!

 
Post new topic   Reply to topic    msoutlook.org Forum Index -> Outlook Program Forms
Author Message
arty



Joined: 07 Feb 2008
Posts: 3

PostPosted: Thu Feb 07, 2008 11:09 am    Post subject: PublishForm() Seems to be Async!!! Reply with quote

Hi everyone!

We do publishing of new message classes (in order to assign extended
properties and icons for that class of items). In theory we just need
to make a call to FormDescription::PublishForm(), and, since that call
is synchronous and there is no other implications in OOM
documentation, we might expect that it is legal to create items of
published message class just after the call was issued.

Well, in reality things are not so sweet. Creation of items of such
message class is not successful when issued immediately after the
PublishForm()-call. Moreover, in 2007/Vista this may easily break
Outlook form cache so you won't ever be able to create items of such
message class (I believe due to Vista's "sophisticated" file history
tracking). We had some weak workaround here (which looked much like a
hack for us, but we left it just because there was no other solution):
we pumped Windows messages (GetMessage/DispatchMessage) and that
helped! While in 2003 it was sufficient to place exit-pump message
into queue just before the actual pumping, in 2007 it didn't work. So,
we pumped for 50-100 ms (sorry, this is really stupid, but, what had
we do?). Obviously, this does not work all the times.

What we need is a strong guarantee that after some detectable
execution point it is safe to create items of a published message
class.

We tried a few another approaches like:
* Wait until published form will appear in registry (under HKCR/CLSID)
but this does not work, since Outlook Forms Cache will put information
in registry only after successful creation of an item;
* Wait until correspondent item will appear in Common View/associated
contents mapi folder - it appeared, that this does not make a
guarantee at all;
* Seek for some magic message in main thread's message queue - we
could not find the proper one...

Does anyone know, if there any solution to this?

thank you,
Artem Gevorkyan

Archived from group: microsoft>public>outlook>program_forms
Back to top
View user's profile Send private message
Sue Mosher [MVP-Outlook]



Joined: 12 Aug 2007
Posts: 656

PostPosted: Thu Feb 07, 2008 4:19 pm    Post subject: Re: PublishForm() Seems to be Async!!! Reply with quote

Where are these forms being published? What is the mail profile configuration?

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54


"arty" wrote in message @s19g2000prg.googlegroups.com...
> Hi everyone!
>
> We do publishing of new message classes (in order to assign extended
> properties and icons for that class of items). In theory we just need
> to make a call to FormDescription::PublishForm(), and, since that call
> is synchronous and there is no other implications in OOM
> documentation, we might expect that it is legal to create items of
> published message class just after the call was issued.
>
> Well, in reality things are not so sweet. Creation of items of such
> message class is not successful when issued immediately after the
> PublishForm()-call. Moreover, in 2007/Vista this may easily break
> Outlook form cache so you won't ever be able to create items of such
> message class (I believe due to Vista's "sophisticated" file history
> tracking). We had some weak workaround here (which looked much like a
> hack for us, but we left it just because there was no other solution):
> we pumped Windows messages (GetMessage/DispatchMessage) and that
> helped! While in 2003 it was sufficient to place exit-pump message
> into queue just before the actual pumping, in 2007 it didn't work. So,
> we pumped for 50-100 ms (sorry, this is really stupid, but, what had
> we do?). Obviously, this does not work all the times.
>
> What we need is a strong guarantee that after some detectable
> execution point it is safe to create items of a published message
> class.
>
> We tried a few another approaches like:
> * Wait until published form will appear in registry (under HKCR/CLSID)
> but this does not work, since Outlook Forms Cache will put information
> in registry only after successful creation of an item;
> * Wait until correspondent item will appear in Common View/associated
> contents mapi folder - it appeared, that this does not make a
> guarantee at all;
> * Seek for some magic message in main thread's message queue - we
> could not find the proper one...
>
> Does anyone know, if there any solution to this?
>
> thank you,
> Artem Gevorkyan
>
Back to top
View user's profile Send private message
arty



Joined: 07 Feb 2008
Posts: 3

PostPosted: Fri Feb 08, 2008 3:03 am    Post subject: Re: PublishForm() Seems to be Async!!! Reply with quote

We use "Personal Registry" to publish forms.
No Exchange sync is involved in simplest case, though we tried OST -
exactly the same results there.

On 7 ÆÅ×, 19:19, "Sue Mosher [MVP-Outlook]"
wrote:
> Where are these forms being published? What is the mail profile configuration?
>
> --
> Sue Mosher, Outlook MVP
> Author of Microsoft Outlook 2007 Programming:
> Jumpstart for Power Users and Administrators
> http://www.outlookcode.com/article.aspx?id=54
>
> "arty" wrote in message@s19g2000prg.googlegroups.com...
> > Hi everyone!
>
> > We do publishing of new message classes (in order to assign extended
> > properties and icons for that class of items). In theory we just need
> > to make a call to FormDescription::PublishForm(), and, since that call
> > is synchronous and there is no other implications in OOM
> > documentation, we might expect that it is legal to create items of
> > published message class just after the call was issued.
>
> > Well, in reality things are not so sweet. Creation of items of such
> > message class is not successful when issued immediately after the
> >PublishForm()-call. Moreover, in 2007/Vista this may easily break
> > Outlook form cache so you won't ever be able to create items of such
> > message class (I believe due to Vista's "sophisticated" file history
> > tracking). We had some weak workaround here (which looked much like a
> > hack for us, but we left it just because there was no other solution):
> > we pumped Windows messages (GetMessage/DispatchMessage) and that
> > helped! While in 2003 it was sufficient to place exit-pump message
> > into queue just before the actual pumping, in 2007 it didn't work. So,
> > we pumped for 50-100 ms (sorry, this is really stupid, but, what had
> > we do?). Obviously, this does not work all the times.
>
> > What we need is a strong guarantee that after some detectable
> > execution point it is safe to create items of a published message
> > class.
>
> > We tried a few another approaches like:
> > * Wait until published form will appear in registry (under HKCR/CLSID)
> > but this does not work, since Outlook Forms Cache will put information
> > in registry only after successful creation of an item;
> > * Wait until correspondent item will appear in Common View/associated
> > contents mapi folder - it appeared, that this does not make a
> > guarantee at all;
> > * Seek for some magic message in main thread's message queue - we
> > could not find the proper one...
>
> > Does anyone know, if there any solution to this?
>
> > thank you,
> > Artem Gevorkyan
Back to top
View user's profile Send private message
arty



Joined: 07 Feb 2008
Posts: 3

PostPosted: Fri Feb 08, 2008 4:31 am    Post subject: Re: PublishForm() Seems to be Async!!! Reply with quote

...this can be represented on a clean outlook profile with only one
pst and without any mail accounts configured.

On 8 фев, 09:03, arty wrote:
> We use "Personal Registry" to publish forms.
> No Exchange sync is involved in simplest case, though we tried OST -
> exactly the same results there.
>
> On 7 ÆÅ×, 19:19, "Sue Mosher [MVP-Outlook]"
> wrote:
>
> > Where are these forms being published? What is the mail profile configuration?
>
> > --
> > Sue Mosher, Outlook MVP
> > Author of Microsoft Outlook 2007 Programming:
> > Jumpstart for Power Users and Administrators
> > http://www.outlookcode.com/article.aspx?id=54
>
> > "arty" wrote in message@s19g2000prg.googlegroups.com...
> > > Hi everyone!
>
> > > We do publishing of new message classes (in order to assign extended
> > > properties and icons for that class of items). In theory we just need
> > > to make a call to FormDescription::PublishForm(), and, since that call
> > > is synchronous and there is no other implications in OOM
> > > documentation, we might expect that it is legal to create items of
> > > published message class just after the call was issued.
>
> > > Well, in reality things are not so sweet. Creation of items of such
> > > message class is not successful when issued immediately after the
> > >PublishForm()-call. Moreover, in 2007/Vista this may easily break
> > > Outlook form cache so you won't ever be able to create items of such
> > > message class (I believe due to Vista's "sophisticated" file history
> > > tracking). We had some weak workaround here (which looked much like a
> > > hack for us, but we left it just because there was no other solution):
> > > we pumped Windows messages (GetMessage/DispatchMessage) and that
> > > helped! While in 2003 it was sufficient to place exit-pump message
> > > into queue just before the actual pumping, in 2007 it didn't work. So,
> > > we pumped for 50-100 ms (sorry, this is really stupid, but, what had
> > > we do?). Obviously, this does not work all the times.
>
> > > What we need is a strong guarantee that after some detectable
> > > execution point it is safe to create items of a published message
> > > class.
>
> > > We tried a few another approaches like:
> > > * Wait until published form will appear in registry (under HKCR/CLSID)
> > > but this does not work, since Outlook Forms Cache will put information
> > > in registry only after successful creation of an item;
> > > * Wait until correspondent item will appear in Common View/associated
> > > contents mapi folder - it appeared, that this does not make a
> > > guarantee at all;
> > > * Seek for some magic message in main thread's message queue - we
> > > could not find the proper one...
>
> > > Does anyone know, if there any solution to this?
>
> > > thank you,
> > > Artem Gevorkyan

Back to top
View user's profile Send private message
Display posts from previous:   
Related Topics:
Outlook Forms Is there anyway in Outlook 2003 to modify the Appointment form?

How do I add 200 recipients to my contacts ( as a DL) Hello, I am having difficulties handling 100 of contacts with Outlook, is it designed for that? I was cced an email from a colleague and the distribution list was displayed as names. How can I create a DL with all 200 names? When I past them in the member

POP3 "Save Password" option grayed out, please help! I just installed Office 2007 on my new laptop. On my old machine (running 2007 as well), I was able to setup my POP3 accounts to save my password. On my new laptop, the options for save the password are grayed out. When I click the send receive button, m

Font problems Hi A friend has the following problem - My Outlook Express no longer allows me to change the font, the size of the font, or change the colour of the font. I can highlight the text, click on Format, click on Font, select a new font, new size or select a fo

What's the right way to import a PST file? I've got Outlook 2000 SP3 on Windows 2000 Professional; I need to import three PST files which originally were on a Mac version of Outlook (exported from Outlook 2001 for Mac OS9). I've got them on my PC, and have run scanpst.exe on them until there were
Post new topic   Reply to topic    msoutlook.org Forum Index -> Outlook Program Forms All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group