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

Reply via email to