Бизнес-робот
Бизнес
робот

Темы:

Архив:

Каталог рекламы и объявлений

Ящик для предложений: sales@blogslov.ru

WiX-devs Digest, Vol 13, Issue 28

Send WiX-devs mailing list submissions to


To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/wix-devs
or, via email, send a message with subject or body 'help' to


You can reach the person managing the list at


When replying, please edit your Subject line so it is more specific
than "Re: Contents of WiX-devs digest..."


Today's Topics:

1. Re: scheduling deferred custom actions for SSRS publication
(Rob Mensching)
2. Re: scheduling deferred custom actions for SSRS publication
(Adam Langley)
3. Re: scheduling deferred custom actions for SSRS publication
(Adam Langley)


----------------------------------------------------------------------

Message: 1
Date: Wed, 27 Jun 2007 22:46:01 -0700
From: Rob Mensching
Subject: Re: [WiX-devs] scheduling deferred custom actions for SSRS
publication
To: Adam Langley ,
""
Message-ID:


Content-Type: text/plain; charset="us-ascii"

Yes. It is pretty tricky stuff. Robert Flaming has a long but detailed series of blog entries that cover some of the gnarlier parts of this stuff w.r.t. Vista UAC (somewhere on http://blogs.msdn.com/rflaming). Once you understand the first part, his posts are quite a fascinating read.

One day I dream of getting time to write down the introduction to writing CustomActions... but I've temporarily given up trying to do anything beyond what I'm currently doing... there simply aren't the hours.

From: [mailto:] On Behalf Of Adam Langley
Sent: Wednesday, June 27, 2007 5:53 PM
To:
Subject: [WiX-devs] scheduling deferred custom actions for SSRS publication

Ok,

So I think I'm getting the gist of the design now.
Because my custom action is actually modifying the target system (installing reports), I need to make it a 'deferred' custom action.
That means that it won't necessarily execute within the confines of the MSI, hence the custom action may not be able to get a reference to the database to read the information it needs.
So, you guys have written a set of utility classes, so that I divide my custom action into 2 entrypoints:

1. the 'scheduler' (configured to execute immediately) which reads all the database information my CA will need, and 'schedules' my CA for deferred execution, along with a serialized version of its data.

2. The 'executor' which does the actual system modifications

Later down the road, the MSI runtime executes my deferred CA, and I again use the Wix wcautil functions to deserialize my CA data, and get to work doing whatever I need to do...
Am I on the right track?

Thanks

Adam Langley

Secon NZ
A1/400 Rosedale Road
Albany 0632

+64 (9)414 4071
www.seconag.com

-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

Message: 2
Date: Thu, 28 Jun 2007 17:52:45 +1200
From: Adam Langley
Subject: Re: [WiX-devs] scheduling deferred custom actions for SSRS
publication
To:
Message-ID:
Content-Type: text/plain; charset="us-ascii"

Great, thanks Bob.



Its definitely getting lots more complicated the deeper I delve, but the
code is well written so its not too difficult to understand (this is my
first significant foray into c++ for many years, I've been reserved to the
Java/C# camps since last decade).

Im currently taking my code and attempting to reformat it (and rename files)
and split everything up much like the SQL CA, in the hope that will teach me
whats going on.

If I get it all working, and it looks very much like it was written by one
of you guys (Im kinda using scasql*.* as 'templates'), would it be easy
enough to integrate into your source tree so that I can have it available in
MS built releases of Wix in the future? That would be ideal for me...



Cheers Bob



- Adam Langley



From: Bob Arnson [mailto:]
Sent: Thursday, 28 June 2007 5:22 p.m.
To: Adam Langley
Cc:
Subject: Re: [WiX-devs] scheduling deferred custom actions for SSRS
publication



Adam Langley wrote:

Because my custom action is actually modifying the target system (installing
reports), I need to make it a 'deferred' custom action.


Right.




That means that it won't necessarily execute within the confines of the MSI,
hence the custom action may not be able to get a reference to the database
to read the information it needs.


To really explain it I need a whiteboard. Basically, the execute sequence
is broken up into phases. The first is script-generation, when immediate
custom actions run and determine the actions -- and their data. Then the
script is run; that's when you have very limited access to the database and
the installer session it's running in. It's also when CAs get elevated, so
they can modify per-machine data.

There's also rollback, when MSI unwinds the script and deletes files, puts
back overwritten ones, etc. That's why deferred CAs need "matching" rollback
CAs, to undo what they did.

And there's commit, but let's not go there.




Am I on the right track?


Exactly!



--
sig://boB
http://joyofsetup.com/
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

Message: 3
Date: Thu, 28 Jun 2007 17:58:08 +1200
From: Adam Langley
Subject: Re: [WiX-devs] scheduling deferred custom actions for SSRS
publication
To:
Message-ID:
Content-Type: text/plain; charset="us-ascii"

Thanks for that Rob,



I'm trying to take notes on what I'm doing and why as I go along, in the
hope that I can find the 'hours' to write up a ~codeproject article on how
to do this stuff.

It is fascinating stuff, and so rewarding when the install executes
successfully. The enjoyment is made possible by such a clean and
comprehensive codebase provided for everything needed to get up and running.

Great work guys, I hope I can contribute to the project.



-Adam



From: Rob Mensching [mailto:]
Sent: Thursday, 28 June 2007 5:46 p.m.
To: Adam Langley;
Subject: RE: [WiX-devs] scheduling deferred custom actions for SSRS
publication



Yes. It is pretty tricky stuff. Robert Flaming has a long but detailed
series of blog entries that cover some of the gnarlier parts of this stuff
w.r.t. Vista UAC (somewhere on http://blogs.msdn.com/rflaming). Once you
understand the first part, his posts are quite a fascinating read.



One day I dream of getting time to write down the introduction to writing
CustomActions. but I've temporarily given up trying to do anything beyond
what I'm currently doing... there simply aren't the hours.



From:
[mailto:] On Behalf Of Adam Langley
Sent: Wednesday, June 27, 2007 5:53 PM
To:
Subject: [WiX-devs] scheduling deferred custom actions for SSRS publication



Ok,



So I think I'm getting the gist of the design now.

Because my custom action is actually modifying the target system (installing
reports), I need to make it a 'deferred' custom action.

That means that it won't necessarily execute within the confines of the MSI,
hence the custom action may not be able to get a reference to the database
to read the information it needs.

So, you guys have written a set of utility classes, so that I divide my
custom action into 2 entrypoints:

1. the 'scheduler' (configured to execute immediately) which reads all
the database information my CA will need, and 'schedules' my CA for deferred
execution, along with a serialized version of its data.

2. The 'executor' which does the actual system modifications



Later down the road, the MSI runtime executes my deferred CA, and I again
use the Wix wcautil functions to deserialize my CA data, and get to work
doing whatever I need to do...

Am I on the right track?



Thanks



Adam Langley



Secon NZ

A1/400 Rosedale Road

Albany 0632



+64 (9)414 4071

www.seconag.com



-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

------------------------------

_______________________________________________
WiX-devs mailing list

https://lists.sourceforge.net/lists/listinfo/wix-devs


End of WiX-devs Digest, Vol 13, Issue 28
****************************************