That's not going to solve the problem. REINSTALL=ALL means patch all
features, and I'll also point out that you may already be in trouble because
of repair. With your existing unpatched product installed, what happens if
you do a repair from add/remove programs or by right-clicking the MSI you
used to install it? You're at risk of having a non-patchable non-repairable
product. 


In the long term, if you have the service account data specified as
properties then you must preserve the values for repairs, patches, feature
add/remove etc. In the short term for a patch and to get you over this, your
patch could condition the InstallServices action on "Not Installed" so that
it won't attempt to reinstall them, but long term you must preserve the
accound data, and having multiple features doesn't make that issue go away. 


Phil 


-----Original Message-----
From: George Fleming [mailto:gef...@microsoft.com] 
Sent: Wednesday, June 19, 2013 9:30 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to skip components during patching

That might be acceptable if the default is to patch just one feature.  How
does someone build a patch for just one feature?

-----Original Message-----
From: John Cooper [mailto:jocoo...@jackhenry.com]
Sent: Tuesday, June 18, 2013 1:29 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to skip components during patching

Yes, but think about what happens if someone passes REINSTALL=ALL on the
command line.

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




-----Original Message-----
From: George Fleming [mailto:gef...@microsoft.com]
Sent: Tuesday, June 18, 2013 3:17 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to skip components during patching

What if I were to split my installer into two features?  Is it possible to
define <PatchCreation> element to create a patch for just a feature (and
leave other feature/components untouched)?

-----Original Message-----
From: John Cooper [mailto:jocoo...@jackhenry.com]
Sent: Tuesday, June 18, 2013 12:47 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to skip components during patching

Not during a patch without some trickery.  A patch is effectively a Repair
of the effected feature, and if that component is in an effected feature,
it's going to be reinstalled.

I handle encryption/decryption for both my passwords and my connection
strings by harvesting them directly (while encrypted) using the IIS7 API and
ConfigurationManager (ugh!)  It's worth the extra work.

You'll make your product effectively un-patchable in some scenarios which is
a price most managers aren't willing to pay.

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




-----Original Message-----
From: George Fleming [mailto:gef...@microsoft.com]
Sent: Tuesday, June 18, 2013 2:23 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to skip components during patching

Thanks for the quick response...

According to documentation, if a Component is marked as Transitive='yes', it
will uninstall the component if the condition becomes 'False'.  I don't want
to uninstall the component; I want to just leave it as is.  Is that
possible?

I know the persistent pattern is better, but there are many who don't want
to deal with encrypting/decrypting passwords, and thinks this is a better
way.

George

-----Original Message-----
From: John Cooper [mailto:jocoo...@jackhenry.com]
Sent: Tuesday, June 18, 2013 12:03 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to skip components during patching

Because the condition is not re-evaluated once it is installed unless the
component is marked Transitive.

I would recommend avoiding marking it Transitive and saving and restoring
the properties necessary for that component to work.  In my experience, that
is best practice.

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




-----Original Message-----
From: George Fleming [mailto:gef...@microsoft.com]
Sent: Tuesday, June 18, 2013 1:51 PM
To: WiX-users@lists.sourceforge.net
Subject: [WiX-users] How to skip components during patching

I have following component that I only want to execute during a new install.
When I do a patch (msp file), I don't want to run this code, since I don't
have a valid default [SERVICEACCOUNT] value.  Still, the code executes and I
get a failure at ServiceInstall.  Why isn't my <Condition> working?

     <Component Id='MyService' Win64="$(var.Win64)"
Guid='{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}' >
        <Condition><![CDATA[NOT (REMOVE="ALL") AND NOT Installed AND NOT
REINSTALLMODE AND NOT REINSTALL]]></Condition>
        <util:User Id='ServiceUser' Name='[SERVICEACCOUNT]'
Password='[SERVICEPASSWORD]' CreateUser='no' LogonAsService='yes'/>
        <File Id="File_MyService.exe" Name="$(var.MyService.exe)"
KeyPath="yes" Source="$(var.Dir)\$(var.MyService.exe)" />
        <ServiceInstall Id='xxxxx'
                        Name='$(var.ServiceName)'
                        DisplayName='My Service'
                        Type='ownProcess'
                        Start='auto'
                        ErrorControl='normal'
                        Description='My Service'
                        Account='[SERVICEACCOUNT]'
                        Password='[SERVICEPASSWORD]'
                        Vital='yes'>
          <util:ServiceConfig FirstFailureActionType='restart'
SecondFailureActionType='restart' ThirdFailureActionType='none'
RestartServiceDelayInSeconds='10'
                              ResetPeriodInDays='1'/>
        </ServiceInstall>
        <ServiceControl Id="StartService" Stop="both" Remove="uninstall"
Name="$(var.ServiceName)" Wait="yes" />
      </Component>

----------------------------------------------------------------------------
--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
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.


----------------------------------------------------------------------------
--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




----------------------------------------------------------------------------
--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
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.


----------------------------------------------------------------------------
--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




----------------------------------------------------------------------------
--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
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.


----------------------------------------------------------------------------
--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




----------------------------------------------------------------------------
--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to