Hi Blair, I seem to still have a problem: because I want the files that were placed with an empty GUID to be deleted when a real uninstall happens (not update or repair, but an uninstall from add/remove programs), I also added the code:
<Component Id="RemoveLogosFile" Guid="PUT_MY_GUID" > <RemoveFile Id="RemoveLogosFile" Name="MyLogo.jpg" On="uninstall"/> <RemoveFile Id="RemoveBundleFile" Name="bundle" On="uninstall"/> <Condition>(NOT UPGRADINGPRODUCTCODE) AND (REMOVE=ALL)</Condition> </Component> but this code makes that after an update to end up without the 2 files: MyLogo.jpg and bundle. For some reason the condition seems to be evaluated to TRUE even when I'm running an update so these 2 files are always deleted. (Not sure if it's worth mentioning, but I still have the : <RemoveExistingProducts After="InstallInitialize"/>) Am I doing something wrong here? Thank you, MeCoco On 11/24/2010 2:39 PM, MeCoco wrote: > Hi Blair, > > Thanks a lot for your answer! That was exactly the code I just wrote and > I was testing just now all of the scenarios. > > Thanks, > MeCoco > > On 11/24/2010 1:23 PM, Blair wrote: >> In the original MSI you give to your sales people, create the MyLogo >> component with an empty guid. It will get left behind, and the presence of >> the bundle file will prevent its overwrite. >> >> -----Original Message----- >> From: MeCoco [mailto:vcotirl...@hotmail.com] >> Sent: Wednesday, November 24, 2010 1:22 AM >> To: General discussion for Windows Installer XML toolset. >> Subject: Re: [WiX-users] If file exists, don't update another file >> >> Hi Blair, >> >> First of all I have to mention that the partner problem is just for our >> sale people. To make everything clearer: all the clients, which mean >> _our_ and _their_ clients, will have _our_ logo, so I need a >> "workaround" only for our sale people, who for whatever reason want only >> for their demo systems to NOT have the partner logo updated. Being _our_ >> sale people, meaning only a few people, I should find a workaround that >> do not disturb at all the already written and tested installer as it is >> now provided to all our clients. >> Because of that I actually thought like this: >> - for the sales people I will build a first time installer containing >> the exact same files like the normal installer, only that the mylogo.jpg >> content is different and also a dummy file, let's name it "bundle", gets >> also installed >> - they use this installer, install the product on their demo systems >> - after this point, any update we provide for _our_ clients should be >> used also by these sales ppl, with the point that mylogo.jpg in _their_ >> cases should not be updated >> >> This is the request, so I was thinking: in the first time installer that >> we give _just_ to our sales people, the dumy file "bundle" gets >> installed and any later update (update that should be identical for our >> sale people and our clients) should take care not to update the >> mylogo.jpg if the "bundle" file is found, b/c then it's our sales >> people. In case the bundle file is not there, meaning is a client not a >> sales person, then the mylogo.jpg should be updated. >> >> Also I have to leave the: >> <RemoveExistingProducts After="InstallInitialize"/> >> untouched. >> >> Now, back to your answser Blair: >> > Do a FileSearch for the specific file, and based on that property >> condition your logo component to not install. >> >> I tried that: >> >> 1) I created a first time installer which was placing also a dummy >> "bundle" file into the install directory >> <Component Id="MyLogo.jpg" Guid="PUT-MY-GUID1"> >> <File Id="MyLogo.jpg" Source="MyLogo.jpg" KeyPath="yes" Checksum="yes" /> >> </Component> >> <Component Id="bundle" Guid="PUT-MY-GUID2"> >> <File Id="bundle" Source="bundle" KeyPath="yes" Checksum="yes" /> >> </Component> >> >> >> 2) Then created the update which will be used by everybody: clients and >> sales people >> >> <!-- Search the bundle file --> >> <Property Id='FILE_BUNDLE_EXISTS'> >> <DirectorySearch Id='DirSearch' Path='[INSTALLDIR]' Depth='0'> >> <FileSearch Id='FileSearch' Name='bundle'/> >> </DirectorySearch> >> </Property> >> >> <Component Id="MyLogo.jpg" Guid="PUT-MY-GUID1"> >> <File Id="MyLogo.jpg" Source="MyLogo.jpg" KeyPath="yes" Checksum="yes" /> >> <Condition>(NOT FILE_BUNDLE_EXISTS)</Condition> >> </Component> >> <Component Id="bundle" Guid="PUT-MY-GUID2"> >> <File Id="bundle" Source="bundle" KeyPath="yes" Checksum="yes" /> >> <Condition>FILE_BUNDLE_EXISTS</Condition> >> </Component> >> >> But after running the update I ended up by not having the MyLogo.jpg >> installed at all. >> >> Is there any other way to accomplish this? >> >> Thank you! >> MeCoco >> >> >> On 11/24/2010 2:48 AM, Blair wrote: >>> Do a FileSearch for the specific file, and based on that property >> condition >>> your logo component to not install. >>> >>> -----Original Message----- >>> From: MeCoco [mailto:vcotirl...@hotmail.com] >>> Sent: Tuesday, November 23, 2010 6:35 AM >>> To: General discussion for Windows Installer XML toolset. >>> Subject: Re: [WiX-users] If file exists, don't update another file >>> >>> Hi Dave, >>> >>> I can't do that. Here is the explanation: we have a product which we >>> release to different clients. We also have a partner with whom we >>> bundle, so he wants to offer our product together with his, but the logo >>> should stay his logo. We can't have his logo and our logo in the >>> installer, as we don't want the clients digging that up. >>> So we agreed on the following: first time when he installs the product >>> he places a dummy file.txt into the installation directory and his own >>> logo. When we provide an installer which is upgrading our software, in >>> case the update is for our own clients, the logo should be updated, but >>> if the upgrade is run by the partner-client the logo shouldn't be >>> updated, so basically our update should check if the file.txt is there >>> and if yes should not update the logo. >>> >>> In other words: if in the installation folder there is a specific file, >>> eg file.txt, then a specific file, eg mylogo.jpg should _not_ be updated. >>> >>> And I'm not sure how one can do that when: >>> <RemoveExistingProducts After="InstallInitialize"/> >>> as from what I read, the product is completely removed first so his logo >>> will be gone. >>> >>> Thank you, >>> MeCoco >>> >>> >>> >>> On 11/23/2010 2:59 PM, David Watson wrote: >>>> Why not include both logos in your new msi and install only one >>>> conditionally. >>>> >>>> Dave >>>> >>>> -----Original Message----- >>>> From: MeCoco [mailto:vcotirl...@hotmail.com] >>>> Sent: 23 November 2010 13:04 >>>> To: General discussion for Windows Installer XML toolset. >>>> Subject: [WiX-users] If file exists, don't update another file >>>> >>>> Hi all, >>>> >>>> I have to do the following: if in the installation folder there is a >>>> specific file, eg file.txt, then a specific file, eg mylogo.jpg should >>>> _not_ be updated. >>>> The installer is doing always major upgrades. >>>> >>>> My question is: assuming that the request can be done by using a >>>> conditional component (not yet sure how, but this is another story) >>>> could I do that if in the installer I have: >>>> <RemoveExistingProducts After="InstallInitialize"/>? Or this won't work >>>> because the product is first completely removed and only then the new >>>> version installed, so basically the mylogo.jpg is gone as part of >>>> removing old products, so it won't be preserved, so the new one, the one >>>> >>>> from the package will be installed? >>>> >>>> If what I wrote above is correct, is there any other way to implement >>>> the above request (if in the installation folder there is a specific >>>> file, eg file.txt, then a specific file, eg mylogo.jpg should _not_ be >>>> updated) without changing the: >>>> <RemoveExistingProducts After="InstallInitialize"/>? (I'm not allowed to >>>> >>>> change the place of the removing old products) >>>> >>>> Thank you in advance, >>>> Mecoco >>>> >>>> ------------------------------------------------------------------------ >>>> ------ >>>> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >>>> Tap into the largest installed PC base& get more eyes on your game by >>>> optimizing for Intel(R) Graphics Technology. Get started today with the >>>> Intel(R) Software Partner Program. Five $500 cash prizes are up for >>>> grabs. >>>> http://p.sf.net/sfu/intelisp-dev2dev >>>> _______________________________________________ >>>> WiX-users mailing list >>>> WiX-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>> SDL PLC confidential, all rights reserved. >>>> If you are not the intended recipient of this mail SDL requests and >>> requires that you delete it without acting upon or copying any of its >>> contents, and we further request that you advise us. >>>> SDL PLC is a public limited company registered in England and Wales. >>> Registered number: 02675207. >>>> Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire >> SL6 >>> 7DY, UK. >> ---------------------------------------------------------------------------- >>> -- >>>> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >>>> Tap into the largest installed PC base& get more eyes on your game by >>>> optimizing for Intel(R) Graphics Technology. Get started today with the >>>> Intel(R) Software Partner Program. Five $500 cash prizes are up for >> grabs. >>>> http://p.sf.net/sfu/intelisp-dev2dev >>>> _______________________________________________ >>>> WiX-users mailing list >>>> WiX-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>> >>>> >> ---------------------------------------------------------------------------- >>> -- >>> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >>> Tap into the largest installed PC base& get more eyes on your game by >>> optimizing for Intel(R) Graphics Technology. Get started today with the >>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >>> http://p.sf.net/sfu/intelisp-dev2dev >>> _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >>> >> ---------------------------------------------------------------------------- >> -- >>> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >>> Tap into the largest installed PC base& get more eyes on your game by >>> optimizing for Intel(R) Graphics Technology. Get started today with the >>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >>> http://p.sf.net/sfu/intelisp-dev2dev >>> _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >> ---------------------------------------------------------------------------- >> -- >> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >> Tap into the largest installed PC base& get more eyes on your game by >> optimizing for Intel(R) Graphics Technology. Get started today with the >> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >> http://p.sf.net/sfu/intelisp-dev2dev >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> >> ------------------------------------------------------------------------------ >> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >> Tap into the largest installed PC base& get more eyes on your game by >> optimizing for Intel(R) Graphics Technology. Get started today with the >> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >> http://p.sf.net/sfu/intelisp-dev2dev >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! > Tap into the largest installed PC base& get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users