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:jocoo...@jackhenry.com] 
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
jocoo...@jackhenry.com
www.jackhenry.com 



-----Original Message-----
From: ShitalKumar Mehta (Synergy Technologies LLC) 
[mailto:v-shm...@microsoft.com]
Sent: Monday, February 27, 2012 1:08 PM
To: wix-users@lists.sourceforge.net
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
WiX-users@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.


------------------------------------------------------------------------------
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to