Discussion:
[WiX-users] Condition on components validation
Natalie Carr
2013-08-19 15:33:54 UTC
Permalink
I have a conditional component and the conditional statement is created via
a custom actin that is run in the Install Execute Sequence before the
CostFinalize action. However the component is always getting installed
regardless of the condition.



My Condition: <Condition>PROMPTLOCKMODE = "0"</Condition>



I have checked my log and it shows the validation property being set
properly to 1 which then my component should not be getting installed but it
is and this is the component in the log.



LockEntries; Installed: Local; Request: Local; Action: Local



This is on a repair. Anyone know what I am doing wrong?



Thanks

Natalie
John Cooper
2013-08-19 16:00:33 UTC
Permalink
Well, on a "Repair", a previously installed component is going to be reinstalled. By default, component conditions are considered only once. You'd need to make the Component Transitive. But then you're going to run into the situation where the component may uninstall under certain circumstances during "Repair."

Why are you trying to block reinstall of that Component on "Repair"?

--
John Merryweather Cooper
Build & Install Engineer -- ESA
Jack Henry & Associates, Inc.(r)
Shawnee Mission, KS 66227
Office: 913-341-3434 x791011
***@jackhenry.com
www.jackhenry.com



-----Original Message-----
From: Natalie Carr [mailto:***@measuresoft.com]
Sent: Monday, August 19, 2013 10:34 AM
To: wix-***@lists.sourceforge.net
Subject: [WiX-users] Condition on components validation

I have a conditional component and the conditional statement is created via a custom actin that is run in the Install Execute Sequence before the CostFinalize action. However the component is always getting installed regardless of the condition.



My Condition: <Condition>PROMPTLOCKMODE = "0"</Condition>



I have checked my log and it shows the validation property being set properly to 1 which then my component should not be getting installed but it is and this is the component in the log.



LockEntries; Installed: Local; Request: Local; Action: Local



This is on a repair. Anyone know what I am doing wrong?



Thanks

Natalie

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are intended
exclusively for the individual or entity to which it is addressed. The message,
together with any attachment, may contain confidential and/or privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or distribution
is strictly prohibited. If you have received this message in error, please
immediately advise the sender by reply email and delete all copies.
Natalie Carr
2013-08-20 08:08:02 UTC
Permalink
Hi John,

Ah that makes sense, I didn't know that. The component is a registry value
and gets set on a key dialog, on a new install the key dialog will always
get shown as there is no unlock key in the registry and that is what is
needed to unlock the software. However on a repair I only show the dialog if
the unlock key is not in the registry, i.e. if it got corrupted/deleted.

I wanted to place a condition on the component as on a repair if the key
dialog is not shown the registry value is not being set and I get an error
when trying to write it.

What certain circumstances are there?

Thanks for your help
Natalie

-----Original Message-----
From: John Cooper [mailto:***@jackhenry.com]
Sent: 19 August 2013 17:01
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Condition on components validation

Well, on a "Repair", a previously installed component is going to be
reinstalled. By default, component conditions are considered only once.
You'd need to make the Component Transitive. But then you're going to run
into the situation where the component may uninstall under certain
circumstances during "Repair."

Why are you trying to block reinstall of that Component on "Repair"?

--
John Merryweather Cooper
Build & Install Engineer -- ESA
Jack Henry & Associates, Inc.(r)
Shawnee Mission, KS 66227
Office: 913-341-3434 x791011
***@jackhenry.com
www.jackhenry.com



-----Original Message-----
From: Natalie Carr [mailto:***@measuresoft.com]
Sent: Monday, August 19, 2013 10:34 AM
To: wix-***@lists.sourceforge.net
Subject: [WiX-users] Condition on components validation

I have a conditional component and the conditional statement is created via
a custom actin that is run in the Install Execute Sequence before the
CostFinalize action. However the component is always getting installed
regardless of the condition.



My Condition: <Condition>PROMPTLOCKMODE = "0"</Condition>



I have checked my log and it shows the validation property being set
properly to 1 which then my component should not be getting installed but it
is and this is the component in the log.



LockEntries; Installed: Local; Request: Local; Action: Local



This is on a repair. Anyone know what I am doing wrong?



Thanks

Natalie

----------------------------------------------------------------------------
--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are
intended exclusively for the individual or entity to which it is addressed.
The message, together with any attachment, may contain confidential and/or
privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution is strictly prohibited. If you have received this message in
error, please immediately advise the sender by reply email and delete all
copies.


----------------------------------------------------------------------------
--
Introducing Performance Central, a new site from SourceForge and
AppDynamics. Performance Central is your source for news, insights, analysis
and resources for efficient Application Performance Management.
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
Blair Murri
2013-08-20 18:53:59 UTC
Permalink
You discovered the certain circumstances (if the condition is false the component is removed during the repair).

There are two other things you can do: either read in the registry value and rewrite it as part of the repair, or move the component to a different feature and effectively disable repair of that new feature.

The latter is doable but harder to get right (you will have to isolate and test your feature handling custom action in every possible scenario), I recommend the former (read it in appsearch and just rewrite the registry key in the component as-is).

> From: ***@measuresoft.com
> To: wix-***@lists.sourceforge.net
> Date: Tue, 20 Aug 2013 09:08:02 +0100
> Subject: Re: [WiX-users] Condition on components validation
>
> Hi John,
>
> Ah that makes sense, I didn't know that. The component is a registry value
> and gets set on a key dialog, on a new install the key dialog will always
> get shown as there is no unlock key in the registry and that is what is
> needed to unlock the software. However on a repair I only show the dialog if
> the unlock key is not in the registry, i.e. if it got corrupted/deleted.
>
> I wanted to place a condition on the component as on a repair if the key
> dialog is not shown the registry value is not being set and I get an error
> when trying to write it.
>
> What certain circumstances are there?
>
> Thanks for your help
> Natalie
>
> -----Original Message-----
> From: John Cooper [mailto:***@jackhenry.com]
> Sent: 19 August 2013 17:01
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Condition on components validation
>
> Well, on a "Repair", a previously installed component is going to be
> reinstalled. By default, component conditions are considered only once.
> You'd need to make the Component Transitive. But then you're going to run
> into the situation where the component may uninstall under certain
> circumstances during "Repair."
>
> Why are you trying to block reinstall of that Component on "Repair"?
>
> --
> John Merryweather Cooper
> Build & Install Engineer -- ESA
> Jack Henry & Associates, Inc.(r)
> Shawnee Mission, KS 66227
> Office: 913-341-3434 x791011
> ***@jackhenry.com
> www.jackhenry.com
>
>
>
> -----Original Message-----
> From: Natalie Carr [mailto:***@measuresoft.com]
> Sent: Monday, August 19, 2013 10:34 AM
> To: wix-***@lists.sourceforge.net
> Subject: [WiX-users] Condition on components validation
>
> I have a conditional component and the conditional statement is created via
> a custom actin that is run in the Install Execute Sequence before the
> CostFinalize action. However the component is always getting installed
> regardless of the condition.
>
>
>
> My Condition: <Condition>PROMPTLOCKMODE = "0"</Condition>
>
>
>
> I have checked my log and it shows the validation property being set
> properly to 1 which then my component should not be getting installed but it
> is and this is the component in the log.
>
>
>
> LockEntries; Installed: Local; Request: Local; Action: Local
>
>
>
> This is on a repair. Anyone know what I am doing wrong?
>
>
>
> Thanks
>
> Natalie
>
> ----------------------------------------------------------------------------
> --
> Get 100% visibility into Java/.NET code with AppDynamics Lite!
> It's a free troubleshooting tool designed for production.
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> NOTICE: This electronic mail message and any files transmitted with it are
> intended exclusively for the individual or entity to which it is addressed.
> The message, together with any attachment, may contain confidential and/or
> privileged information.
> Any unauthorized review, use, printing, saving, copying, disclosure or
> distribution is strictly prohibited. If you have received this message in
> error, please immediately advise the sender by reply email and delete all
> copies.
>
>
> ----------------------------------------------------------------------------
> --
> Introducing Performance Central, a new site from SourceForge and
> AppDynamics. Performance Central is your source for news, insights, analysis
> and resources for efficient Application Performance Management.
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Introducing Performance Central, a new site from SourceForge and
> AppDynamics. Performance Central is your source for news, insights,
> analysis and resources for efficient Application Performance Management.
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
Natalie Carr
2013-08-21 08:05:47 UTC
Permalink
Hi Blair,

I implemented number one yesterday. I thought it was a better approach also.


Thanks
Natalie

-----Original Message-----
From: Blair Murri [mailto:***@live.com]
Sent: 20 August 2013 19:54
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Condition on components validation

You discovered the certain circumstances (if the condition is false the
component is removed during the repair).

There are two other things you can do: either read in the registry value and
rewrite it as part of the repair, or move the component to a different
feature and effectively disable repair of that new feature.

The latter is doable but harder to get right (you will have to isolate and
test your feature handling custom action in every possible scenario), I
recommend the former (read it in appsearch and just rewrite the registry key
in the component as-is).

> From: ***@measuresoft.com
> To: wix-***@lists.sourceforge.net
> Date: Tue, 20 Aug 2013 09:08:02 +0100
> Subject: Re: [WiX-users] Condition on components validation
>
> Hi John,
>
> Ah that makes sense, I didn't know that. The component is a registry
> value and gets set on a key dialog, on a new install the key dialog
> will always get shown as there is no unlock key in the registry and
> that is what is needed to unlock the software. However on a repair I
> only show the dialog if the unlock key is not in the registry, i.e. if it
got corrupted/deleted.
>
> I wanted to place a condition on the component as on a repair if the
> key dialog is not shown the registry value is not being set and I get
> an error when trying to write it.
>
> What certain circumstances are there?
>
> Thanks for your help
> Natalie
>
> -----Original Message-----
> From: John Cooper [mailto:***@jackhenry.com]
> Sent: 19 August 2013 17:01
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Condition on components validation
>
> Well, on a "Repair", a previously installed component is going to be
> reinstalled. By default, component conditions are considered only once.
> You'd need to make the Component Transitive. But then you're going to
> run into the situation where the component may uninstall under certain
> circumstances during "Repair."
>
> Why are you trying to block reinstall of that Component on "Repair"?
>
> --
> John Merryweather Cooper
> Build & Install Engineer -- ESA
> Jack Henry & Associates, Inc.(r)
> Shawnee Mission, KS 66227
> Office: 913-341-3434 x791011
> ***@jackhenry.com
> www.jackhenry.com
>
>
>
> -----Original Message-----
> From: Natalie Carr [mailto:***@measuresoft.com]
> Sent: Monday, August 19, 2013 10:34 AM
> To: wix-***@lists.sourceforge.net
> Subject: [WiX-users] Condition on components validation
>
> I have a conditional component and the conditional statement is
> created via a custom actin that is run in the Install Execute Sequence
> before the CostFinalize action. However the component is always
> getting installed regardless of the condition.
>
>
>
> My Condition: <Condition>PROMPTLOCKMODE = "0"</Condition>
>
>
>
> I have checked my log and it shows the validation property being set
> properly to 1 which then my component should not be getting installed
> but it is and this is the component in the log.
>
>
>
> LockEntries; Installed: Local; Request: Local; Action: Local
>
>
>
> This is on a repair. Anyone know what I am doing wrong?
>
>
>
> Thanks
>
> Natalie
>
> ----------------------------------------------------------------------
> ------
> --
> Get 100% visibility into Java/.NET code with AppDynamics Lite!
> It's a free troubleshooting tool designed for production.
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.c
> lktrk _______________________________________________
> WiX-users mailing list
> WiX-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> NOTICE: This electronic mail message and any files transmitted with it
> are intended exclusively for the individual or entity to which it is
addressed.
> The message, together with any attachment, may contain confidential
> and/or privileged information.
> Any unauthorized review, use, printing, saving, copying, disclosure or
> distribution is strictly prohibited. If you have received this message
> in error, please immediately advise the sender by reply email and
> delete all copies.
>
>
> ----------------------------------------------------------------------
> ------
> --
> Introducing Performance Central, a new site from SourceForge and
> AppDynamics. Performance Central is your source for news, insights,
> analysis and resources for efficient Application Performance Management.
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.c
> lktrk _______________________________________________
> WiX-users mailing list
> WiX-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ----------------------------------------------------------------------
> -------- Introducing Performance Central, a new site from SourceForge
> and AppDynamics. Performance Central is your source for news,
> insights, analysis and resources for efficient Application Performance
> Management.
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.c
> lktrk _______________________________________________
> WiX-users mailing list
> WiX-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
--
Introducing Performance Central, a new site from SourceForge and
AppDynamics. Performance Central is your source for news, insights, analysis
and resources for efficient Application Performance Management.
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
Natalie Carr
2013-08-20 08:12:01 UTC
Permalink
John,

Just looked at that transitive attribute and it seems it will not help me as
it will uninstall my component if my condition changes to false.

Thanks
Natalie

-----Original Message-----
From: John Cooper [mailto:***@jackhenry.com]
Sent: 19 August 2013 17:01
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Condition on components validation

Well, on a "Repair", a previously installed component is going to be
reinstalled. By default, component conditions are considered only once.
You'd need to make the Component Transitive. But then you're going to run
into the situation where the component may uninstall under certain
circumstances during "Repair."

Why are you trying to block reinstall of that Component on "Repair"?

--
John Merryweather Cooper
Build & Install Engineer -- ESA
Jack Henry & Associates, Inc.(r)
Shawnee Mission, KS 66227
Office: 913-341-3434 x791011
***@jackhenry.com
www.jackhenry.com



-----Original Message-----
From: Natalie Carr [mailto:***@measuresoft.com]
Sent: Monday, August 19, 2013 10:34 AM
To: wix-***@lists.sourceforge.net
Subject: [WiX-users] Condition on components validation

I have a conditional component and the conditional statement is created via
a custom actin that is run in the Install Execute Sequence before the
CostFinalize action. However the component is always getting installed
regardless of the condition.



My Condition: <Condition>PROMPTLOCKMODE = "0"</Condition>



I have checked my log and it shows the validation property being set
properly to 1 which then my component should not be getting installed but it
is and this is the component in the log.



LockEntries; Installed: Local; Request: Local; Action: Local



This is on a repair. Anyone know what I am doing wrong?



Thanks

Natalie

----------------------------------------------------------------------------
--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are
intended exclusively for the individual or entity to which it is addressed.
The message, together with any attachment, may contain confidential and/or
privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution is strictly prohibited. If you have received this message in
error, please immediately advise the sender by reply email and delete all
copies.


----------------------------------------------------------------------------
--
Introducing Performance Central, a new site from SourceForge and
AppDynamics. Performance Central is your source for news, insights, analysis
and resources for efficient Application Performance Management.
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
Continue reading on narkive:
Loading...