Hello John,
Thanks for the response. I have sequenced my custom installation dialogs as
following.
INSTALL: WelcomeDlg, SetupTypeDlg, UserRegistrationDlg, VerifyReadyDlg,
EndDialog.
INSTALL AGAIN: MaintenanceWelcomeDlg, CustomMaintenanceSetupTypeDlg,
CustomUserRegDlg, EndDialog.
Happy Trail:
Install... One instance is installed.
Reinstall..... you have 3 options similar to and stolen from MaintenanceTypeDlg
CHANGE... I install another application database, binaries. I am
achieving this by putting conditional clause "INSTALLED AND (NOT REMOVE)"
REMOVE... I uninstall All the applications completely.
REPAIR... I want to simulate "REMOVE AN APP" but not completely
UNINSTALL/UNREGISTER the product
Everything is good. Only problem is REPAIR. My separate custom actions for
REPAIR are not getting called, but the CHANGE custom actions are called every
time.
CHANGE:
<InstallExecuteSequence>
<Custom Action ="SetCustomActionDataValueR"
Before="InstallFinalize">Installed AND (NOT REMOVE)</Custom>
<Custom Action="CustomAction1idR" After="SetCustomActionDataValueR">
Installed AND (NOT REMOVE)</Custom>
</InstallExecuteSequence>
REPAIR SIMULATING "REMOVE AN APP":
<InstallExecuteSequence>
<Custom Action ="RemoveAnAppDataValue"
Before="InstallFinalize">REPAIR</Custom> NOTE:
<Custom Action="RemoveAnAppId"
After="RemoveAnAppDataValue">REPAIR</Custom>
</InstallExecuteSequence>
To me it looks like the conditional terminology I am using for CHANGE AND
REPAIR isn't correct and once I get a hint, I would be like "Ohhhhh really".
Would you have that hint for me please?
Thanks,
Shital Mehta
IT Developer
-----Original Message-----
From: John Cooper [mailto:[email protected]]
Sent: Monday, February 27, 2012 11:18 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Concurrent Installations and Custom Actions
You'd be way better off using a chainer. That being said, you're probably
going to have to conditional the second install on the install states of a
feature(s) or component(s) and create your own "Installed_Second" property to
effectively mimic the behavior of "Installed."
You're going to hate yourself though when you try to update or patch things.
--
John Merryweather Cooper
Build & Install Engineer - ESA
Jack Henry & Associates, Inc.(r)
Shawnee Mission, KS 66227
Office: 913-341-3434 x791011
[email protected]
www.jackhenry.com
-----Original Message-----
From: ShitalKumar Mehta (Synergy Technologies LLC)
[mailto:[email protected]]
Sent: Monday, February 27, 2012 1:08 PM
To: [email protected]
Subject: [WiX-users] Concurrent Installations and Custom Actions
Contrary to norm, I have implemented a concurrent installation scenario where
one second install, user will go through my custom install dialogs. One last
leg, I present them with "Install" button, which simulates what
"VerifyReadyDlg" dialog's custom install option would do.
<Control Id="Install" Type="PushButton" ElevationShield="yes"
X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes"
Disabled="yes" Text="!(loc.VerifyReadyDlgInstall)">
<Condition Action="show">NOT Installed AND
ALLUSERS</Condition>
<Condition Action="enable">NOT Installed</Condition>
<Condition Action="default">NOT Installed</Condition>
<Publish Event="EndDialog"
Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
<Publish Event="SpawnDialog"
Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND
(PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace =
1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="EnableRollback"
Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND
PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="SpawnDialog"
Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR
(OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
</Control>
This works fine, what works backwards for me now is that my CUSTOM ACTIONS for
INSTALL don't work on 2nd Install, because they are coded to run when "NOT
Installed".
Also my Custom Actions for UNINSTALL only are now running on 2nd install
onwards because they are coded to run when product is "INSTALLED". Here is how
I have put logic to run custom actions.
Any pointer to tweak this final thing would be greatly appreciated. What would
do the trick for me would be to a pointer that would tell me, if there is
alternate terminology for following two:
<InstallExecuteSequence>
<Custom Action ="SetCustomActionDataValue" Before="InstallFinalize">NOT
Installed </Custom> --This should run every time except on UNINSTALL through /X
cmdline or Add Remove Program's 'Remove' option.
<Custom Action="CustomAction1id" After="SetCustomActionDataValue">NOT
Installed </Custom>
</InstallExecuteSequence>
<InstallExecuteSequence>
<Custom Action ="UninstallOnly" Before="InstallFinalize" />
<Custom Action="UninstallOnlyCA" After="UninstallOnly" > Installed
</Custom> -- Here is where I want the Uninstall to work only when someone is
explicitly uninstalling using /X or Add Remove programs "Remove" option.
</InstallExecuteSequence>
Thanks,
Shital Mehta
IT Developer
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers is just
$99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style
Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
WiX-users mailing list
[email protected]
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.
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers is just
$99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style
Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users