try Permanent="yes" NeverOverwrite="yes" in <Component> as shown below ? 

<Directory Id="dir_WebUI_img_branding_default_logo_7" Name="logo">
 <Component Id="comp_WebUI_93" DiskId="1" KeyPath="yes" 
Guid="128474CB-A2F2-4203-94CD-434DA75F9925" Permanent="yes" 
NeverOverwrite="yes">
        <File Id="file_WebUI_93" Name="header.gif" 
Source="WebUI\img\branding\default\logo\header.gif" />
</Component>
</Directory>



-----Original Message-----
From: Sascha Beaumont [mailto:sascha.beaum...@gmail.com] 
Sent: Wednesday, June 24, 2009 5:28 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to selectively NOT install file if file 
alreadyexists on system

Hi David,

Sure, more than happy to share! There's a simplified version online at
http://stackoverflow.com/questions/319894/simplest-solution-to-replace-a-tiny-file-inside-an-msi
- I can provide a copy of our "production" code if you want, but
you're probably better off taking the sample and writing your own :)

Sascha

On Mon, Jun 15, 2009 at 11:46 PM, David
Bartmess<david.bartm...@wallst.com> wrote:
> Could you share the vbscript? I'd be interested to use it if I may.
>
> Thanks!
>
> -----Original Message-----
> From: Sascha Beaumont [mailto:sascha.beaum...@gmail.com]
> Sent: Sunday, June 14, 2009 8:31 PM
> To: chr...@deploymentengineering.com; General discussion for Windows 
> Installer XML toolset.
> Subject: Re: [WiX-users] How to selectively NOT install file if file already 
> exists on system
>
> I've never had an issue where the customer wasn't right, if they wanted to do 
> something and I couldn't do it "properly" then our installation was broken. 
> There are plenty of times where the customer wants to do something, and it's 
> up to me to figure out the "right way"
> to meet their requirements.
>
> Take for example the OP's issue regarding distributing a custom header GIF, 
> we have our customers wanting to do similar issues all the time and simply 
> use an MST to replace the source file. This way they can deploy our MSI with 
> their custom MST to 100's of computers and still have a solid reliable 
> installation.
>
> This means we can enforce the restriction "do not modify installed files" by 
> giving the customer the option to change the file *before* it gets installed.
>
> In order to make it easy for customers to update this single file, I've got a 
> simple VBScript that:
> - Compresses custom file into a CAB
> - Opens up the MSI
> - Reads information from the Media table
> - Adds a new entry into the Media table
> - Updates the File table to reference the new custom config
> - Generates an MST
>
> >From their point of view all they need to do is put a couple of files
> in a directory with our script, double click and then copy the
> MSI+MST+CAB to where ever they want to install.
>
> Setup is something that needs to be taken seriously, when you have a very 
> large install base a minor issue that effects a small percentage of customers 
> can turn out to be a really large number. This puts more effort on the 
> support teams, increased bug reports, or customers discounting your product 
> entirely because they can't even install a trial version! I guess I'm lucky 
> in that I've been able to convince both development and management where and 
> when changes need to be made. It's a slow process, but if you know your stuff 
> it's a pretty easy sell :)
>
> Sascha
>
> On Sat, Jun 13, 2009 at 2:27 AM, Christopher 
> Painter<chr...@deploymentengineering.com> wrote:
>>
>> Rob-
>>
>>  I hear  you, but I've been at way too many companies where if the setup 
>> developer tries to follow this advice he will be perceived by management and 
>> development as contrary or difficult.   The reality is we don't have the 
>> power to say the customer isn't right.
>>
>> Chris
>>
>>
>> Christopher Painter, Author of Deployment Engineering Blog Have a hot
>> tip, know a secret or read a really good thread that deserves
>> attention? E-Mail Me
>>
>>
>> --- On Fri, 6/12/09, Rob Mensching <r...@wixtoolset.org> wrote:
>>
>>> From: Rob Mensching <r...@wixtoolset.org>
>>> Subject: Re: [WiX-users] How to selectively NOT install file if file
>>> already exists on system
>>> To: "General discussion for Windows Installer XML toolset."
>>> <wix-users@lists.sourceforge.net>
>>> Date: Friday, June 12, 2009, 11:00 AM 1. The customer is not always
>>> right.
>>> Its hard enough to get developers
>>> to care about setup and sustainability (which is actually going to be
>>> your problem here). Users don't want to even care about setup and
>>> they shouldn't have to. However, I don't know how you can "delight
>>> the customer" if your app is broken. <shrug/>
>>>
>>> 2. I don't know what to say. It's all just code. Some code is better
>>> than other code. Some designs are better than other designs. If you
>>> put too many road blocks between you and writing good code and
>>> creating a good design then I don't see how your product will be
>>> successful in the long term.
>>>
>>> Also, I don't think my second suggestion is that good so I'd
>>> personally work toward the first one.
>>>
>>> Finally, I'm not trying to be contrary or difficult. I guess I
>>> believe in Engineering Darwinism. You can have bad designs and bad
>>> code and possibly survive for quite a while. Eventually, though, when
>>> competition shows up you will be ill prepared to handle it. It is
>>> very important to note that sometimes your competition is your
>>> previous self.
>>>
>>> David Bartmess wrote:
>>> > 1. I agree. But that's what the customer has convinced
>>> our PM to do. I'd rather have it selected from the code to be
>>> included from a non-install directory.
>>> >
>>> > 2. The components and component groups are being
>>> created via Paraffin, so I have no control over the condition of the
>>> component, unless I go in manually and run a script to set the
>>> condition on the particular file.
>>> >
>>> > -----Original Message-----
>>> > From: Rob Mensching [mailto:r...@wixtoolset.org]
>>> > Sent: Thursday, June 11, 2009 8:28 PM
>>> > To: General discussion for Windows Installer XML
>>> toolset.
>>> > Subject: Re: [WiX-users] How to selectively NOT
>>> install file if file already exists on system
>>> >
>>> > 1. That is a very poor app design for installation. A
>>> few cases that are going to just be painful to get right
>>> declaratively. For example, what do you do on repair? Ick.
>>> >
>>> > Installation Tenet: don't let people modify the files
>>> that you install.
>>> >
>>> > 2. Why not do a FileSearch and Condition out the
>>> Component that installs the header if it finds it is already there.
>>> >
>>> > David Bartmess wrote:
>>> >
>>> >> I'm trying to create an install that can check if
>>> the file being installed already exists, and not install over the top
>>> of the existing file. The reason is the customers are customizing
>>> their website that we install with a custom header GIF file, and
>>> every time we install we have to manually copy from a backup of the
>>> file over the newly installed default file.
>>> >>
>>> >> Is this possible? Or do I need to write a custom
>>> action to copy the file somewhere else, then copy it back over the
>>> newly installed file?
>>> >>
>>> >> Thanks!
>>> >>
>>> >> <Directory
>>> Id="dir_WebUI_img_branding_default_logo_7" Name="logo">
>>> >>
>>> >> <Component Id="comp_WebUI_93" DiskId="1"
>>> KeyPath="yes"
>>> >> Guid="128474CB-A2F2-4203-94CD-434DA75F9925">
>>> >>
>>> >> <File Id="file_WebUI_93" Name="header.gif"
>>> >>
>>> Source="WebUI\img\branding\default\logo\header.gif" />
>>> >>
>>> >> </Component>
>>> >>
>>> >> </Directory>
>>> >>
>>> >>
>>> >>
>>> >> David Bartmess
>>> >>
>>> >>
>>> ---------------------------------------------------------------------
>>> -
>>> >> -------- Crystal Reports - New Free Runtime and 30
>>> Day Trial Check out
>>> >> the new simplified licensing option that enables
>>> unlimited
>>> >> royalty-free distribution of the report engine for
>>> externally facing
>>> >> server and web deployment.
>>> >> http://p.sf.net/sfu/businessobjects
>>> >> _______________________________________________
>>> >> WiX-users mailing list
>>> >> WiX-users@lists.sourceforge.net
>>> >> https://lists.sourceforge.net/lists/listinfo/wix-users
>>> >>
>>> >>
>>> >
>>> >
>>> ---------------------------------------------------------------------
>>> ---------
>>> > Crystal Reports - New Free Runtime and 30 Day Trial
>>> Check out the new simplified licensing option that enables unlimited
>>> royalty-free distribution of the report engine for externally facing
>>> server and web deployment.
>>> > http://p.sf.net/sfu/businessobjects
>>> > _______________________________________________
>>> > WiX-users mailing list
>>> > WiX-users@lists.sourceforge.net
>>> > https://lists.sourceforge.net/lists/listinfo/wix-users
>>> >
>>> >
>>> ---------------------------------------------------------------------
>>> ---------
>>> > Crystal Reports - New Free Runtime and 30 Day Trial Check out the
>>> > new simplified licensing option that
>>> enables unlimited
>>> > royalty-free distribution of the report engine for
>>> externally facing
>>> > server and web deployment.
>>> > http://p.sf.net/sfu/businessobjects
>>> > _______________________________________________
>>> > WiX-users mailing list
>>> > WiX-users@lists.sourceforge.net
>>> > https://lists.sourceforge.net/lists/listinfo/wix-users
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> --------- Crystal Reports - New Free Runtime and 30 Day Trial Check
>>> out the new simplified licensing option that enables unlimited
>>> royalty-free distribution of the report engine for externally facing
>>> server and web deployment.
>>> http://p.sf.net/sfu/businessobjects
>>> _______________________________________________
>>> WiX-users mailing list
>>> WiX-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Crystal Reports - New Free Runtime and 30 Day Trial
>> Check out the new simplified licensing option that enables unlimited
>> royalty-free distribution of the report engine for externally facing
>> server and web deployment.
>> http://p.sf.net/sfu/businessobjects
>> _______________________________________________
>> WiX-users mailing list
>> WiX-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>

------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

--------------------------------------------------------------------------
This message w/attachments (message) may be privileged, confidential or 
proprietary, and if you are not an intended recipient, please notify the 
sender, do not use or share it and delete it. Unless specifically indicated, 
this message is not an offer to sell or a solicitation of any investment 
products or other financial product or service, an official confirmation of any 
transaction, or an official statement of Merrill Lynch. Subject to applicable 
law, Merrill Lynch may monitor, review and retain e-communications (EC) 
traveling through its networks/systems. The laws of the country of each 
sender/recipient may impact the handling of EC, and EC may be archived, 
supervised and produced in countries other than the country in which you are 
located. This message cannot be guaranteed to be secure or error-free. 
References to "Merrill Lynch" are references to any company in the Merrill 
Lynch & Co., Inc. group of companies, which are wholly-owned by Bank of America 
Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are 
Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a 
Condition to Any Banking Service or Activity * Are Not Insured by Any Federal 
Government Agency. Attachments that are part of this E-communication may have 
additional important disclosures and disclaimers, which you should read. This 
message is subject to terms available at the following link: 
http://www.ml.com/e-communications_terms/. By messaging with Merrill Lynch you 
consent to the foregoing.
--------------------------------------------------------------------------
 

------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to