We use the downgrade / AMUS pattern a lot at my day job. Not every
installer ( as Blair points out ) but if it's a basic application that is
privately deployed with no overlapping footprints, we do it. Most of
these installers are relatively small so repair isn't a concern. The
primary
I take a slightly different approach. Not as optimal but simpler and less
invasive. Using C#/DTF:
Create a new cab with my file.
Stream cab into MSI
Update Media Table
Update File Table
This essentially orphans the original file and touches as little MSI table
data as possible.
Merge modules don't have the concept of condition. You put the condition
on every component in the merge module or you put the condition on the
feature(s) that reference the merge modules (and hence the components ).
Once merged, a merge module doesn't exist. It's a build time concept not
You can only do this with TEMPORARY updates once the installer is running.
Maybe this blog article will help:
http://blog.iswix.com/2008/07/dynamic-windows-installer-ui.html
From: Enrique Domínguez edoming...@goalsystems.com
Sent: Tuesday, July 23,
I don't think that's accurate. The CopyFile element expresses data for
both the MoveFiles table and DuplicateFiles table. I use it to make copies
of files all the time.
From: Stephane Fagnan stephane...@hotmail.com
Sent: Sunday, July 07, 2013 2:20 PM
Once again, ServiceInstall gets the job done without the help of an
InstallUtil custom action. :-) Good job sticking it through. You will
have a more reliable install now.
I can't tell you how many developers on stack overflow have argued with me
that I'm wrong and that InstallUtil is the
This would be an interesting one to profile. I stand by my assertion that
installutil CA's to create and start services is an antipattern.
ServiceInstall and ServiceControl should always be comparable. The problem
is what else is in the InstallUtil CA? I've seen people doing things such
as
Why does it have to be one? :)
There's a whole lot that can be done if you buy 1 copy of InstallShield and
blend it with a lot of WiX goodness
From: Rob Mensching r...@robmensching.com
Sent: Sunday, June 09, 2013 1:31 AM
To: yuanfanganyi...@sina.cn,
Let me guess, your colleagues don't have an installer / windows installer
/ wix experience and they think that a couple of quick how to's will
explain everything?
Am I close and/or cynical?
10
FWIW, I've had 12 jobs in 16 years. I always document unique specifics but
it's not my job to
toolset. wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] log stdout and stderr to the msi log
Yes! It is a Windows NT service.
-Original Message-
From: Christopher Painter [mailto:chr...@iswix.com]
Sent: Friday, May 17, 2013 3:41 PM
To: General discussion for Windows Installer XML
Is this a Windows (NT) service? (ie net start servicename)
From: Uma Harano uhar...@esri.com
Sent: Friday, May 17, 2013 4:51 PM
To: General discussion for Windows Installer XML toolset.
wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] log stdout
Correct. Response files are used by InstallScript project and InstallScript
MSI projects. They are not relevant to Basic MSI projects.
FWIW, it's not very good.
From: Chad Petersen chad.peter...@harlandfs.com
Sent: Wednesday, May 15, 2013 1:21 PM
.
From: Rob Mensching r...@robmensching.com
Sent: Wednesday, May 08, 2013 10:46 AM
To: Christopher Painter chr...@iswix.com, General discussion for
Windows Installer XML toolset. wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] WebDeploy vs MSI
I dislike WebDeploy
Why reinvent the wheel? MSI can handle starting a service for you.
Create a ServiceControl record and tie it to a component and put the
condition on the component. This way your CA doesn't have to worry about
starting the service, it'll get taken care of when StartServices runs.
the parameters! I was stuck on looking at HideTarget and Hidden at
the time in the WIX code... NOTE! Take a break from the screen! Thank you
everyone for all your help!!
Cheers!
Jeremiah
On Mon, May 6, 2013 at 3:11 PM, Christopher Painter chr...@iswix.com
wrote:
Except when
A question for the group, and Rob,
I've been a big believer in MSI for 10 years now. If you were looking at
deploying ASP.NET apps to an AWS environment, would you still package the
app as an MSI or would you consider another paradigm such as WebDeploy?
Thanks,
Chris
Except when they are called by a ControlEvent. :-)
It looks to me that the C#/DTF custom action has some initialization to
called session.Log(). This would be easy enough to tell by using WinZip
to extract the assembly from the self extract custom action ( foo.dll from
foo.ca.dll ) and
C#/DTF custom actions have a really nice story to support this without
writing a lick of code. You just add the files to the MSBuild project as
Type: Content Action: Copy Always and they will show up in the current
directory at execution time.
I wonder how much work it would be to get the
Rob,
For your review:
http://stackoverflow.com/questions/3351222/which-net-sha1-class-is-fips-comp
liant
Regards,
Chris
From: Rob Mensching r...@robmensching.com
Sent: Friday, April 19, 2013 12:31 PM
To: General discussion for Windows Installer XML
Nick,
Shoot me an email and we'll chat about it. I need to explain all the finer
points of *WHY* we use MSI and once you fully comprehend the subject it'll
be an easy sell.
Regards,
Chris
From: Nick Miller nmil...@livetechnology.com
Sent:
Start with CPU, Memory, Disk I/O performance counters. Where is the
bottle neck? Perhaps there is high memory demand with a lot of paging,
perhaps there are other processes hitting the I/O and your disk queue is
pegged. Perhaps it's a heavily fragmented hard drive or a VM that's on an
MSI was never fast. You should have seen it on a Pentium 200MMX with
16MB of memory. The more keyfiles you have in an installer, the more
processing that Windows Installer has to perform. You should consider only
having select files (EXE,DLL,OCX...) as keyfiles and the rest as companion
If I had to take a guess, I'd suspect MigrateFeatureStates is playing a
part in the Major Upgrade.
From: Rob Mensching r...@robmensching.com
Sent: Monday, April 01, 2013 10:22 AM
To: General discussion for Windows Installer XML toolset.
+1
Also, please be sure to provide an easy offline experience. Those of us
who have worked inside buildings that are black holes know how damn
painful this is. (I'm looking at you InstallShield!)
From: Rob Mensching r...@robmensching.com
Sent:
Depending on how the data in the Web.Config is being used something as
simple a localhost or (local) might work. On the other hand,
[ComputerName] may not be enough. The code using the data might expect an
FQDN.
From: ptr ptrajku...@gmail.com
In a nutshell, ICEs are specialized custom actions that serve as unit
tests. They are stored in specialized MSI databases called CUBs (.cub) (A
type that I wish that WiX had support for.) When you perform validation
the cub is merged with your MSI and all of the custom actions listed in the
I can't begin to count how many developers and architects have told me that
component order does matter because they broke the component rules and then
witnessed the right file get installed and how it isn't and therefore
the build/installer is broken. :(
95% of my installers have used major upgrades as their servicing strategy.
The other 5% used minor upgrades because I either
a) wanted to create a story of a non-priv user being able to perform
upgrades
or
b) wanted to be able to create patches
For the standard run of the mill business
My COM+ experience is 10 years old but here's something I'm wondering:
I wonder if what ever classes that are in System.Enterprise.Services ( or
whatever that namespace is that was thrown around ) are really needed?
Maybe those are just wrappers in .NET for the COMAdmin objects just like
-users] COM+ registration help
What do you mean, unneeded code for installing Windows services? What if
the service is written in .net? Then the code is needed.
-Original Message-
From: Christopher Painter [mailto:chr...@iswix.com]
Sent: Friday, March 22, 2013 9:24 AM
To: General
If you look at the built MSI, you'll see EventSource is just some syntactic
sugar to express simple registry keys/values.Create a component in a
fragment / wix library and mark it as shared. Then do a ComponentRef in your
various installers and they will all share that component. Last
Remember, WiX is just an authoring tool for Windows Installer databases.
For the underlying knowledge, please see:
Conditional Syntax Statement (Windows)
http://msdn.microsoft.com/en-us/library/windows/desktop/aa368012%28v=vs.85%2
9.aspx
Installed property (Windows)
It means an MSI sharing this ProductCode ( either this PackageCode which
would indicate a maintenance transaction or another PackageCode which would
indicate a small or minor update ) is already installed. In the case of a
Major Upgrade the ProductCode has been changed and therefore from
?
From: Rob Mensching r...@robmensching.com
Sent: Friday, March 22, 2013 10:51 AM
To: Christopher Painter chr...@iswix.com, General discussion for Windows
Installer XML toolset. wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Event source sharing
Please don't
| Télécopieur 613-951-1966
Government of Canada | Gouvernement du Canada
-Original Message-
From: Rob Mensching [mailto:r...@robmensching.com]
Sent: March-22-13 11:49 AM
To: Christopher Painter; General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Event source sharing
Possibly. I work in enterprise IT these days so I can imagine the operations
guys might be interested in certain scenarios.
From: Rob Mensching r...@robmensching.com
Sent: Friday, March 22, 2013 12:22 PM
To: Christopher Painter chr...@iswix.com, General
+ registration help
Christopher Painter-2 wrote
If that's the case, a DTF custom action wouldn't have that problem.
Thanks for the tip ...
I've never done anything with DTF, do you have any suggestions on how to
get
started ?
Thanks again for your time and attention,
-dmm
--
View this message
and
described problem.
BTW: Problem solved.
The custom action can't modify property inside InstallExecuteSequence for
some reason. Embedding into InstallUISequence helps.
2013/3/19 Christopher Painter chr...@iswix.com
You want:
Session.Property(PREVIOUS_PATH) = pathToProcess
But honestly, Script Custom
: [WiX-users] Modify Public property from VBScript CustomAction
thanks!
2013/3/20 Christopher Painter chr...@iswix.com
Vladimir,
You're problems are not solved, you just don't know what other problems
you have are yet. I suggest starting with reading:
http://www.installsite.org/pages/en/isnews
Hmmm... I haven't done COM+ apps in 10 years but I guess I don't see the
connection to .NET. My custom actions (InstallScript back then) always
used the COMAdmin objects which were unmanaged.
For .NET remoting I think of things like remoting, webservices, wcf et
al...
I had a really good response typed up but then IE10 crapped out on me like
it always does. It really doesn't like my webmail site.
The short version is that namespace is .NET Enterprsie Services is 12 years
old and I wouldn't touch it with a 10 foot pole. Microsoft has rewritten
the remoting
and is used to support COM+ and as far as I can tell is what WiX uses
to install COM+ and I was just trying to help someone with COM+
installation issues. Neil From: Christopher Painter
[mailto:chr...@iswix.com]
Sent: 20 March 2013 15:59
To: Neil Sleightholm; General discussion for Windows
If that's the case, a DTF custom action wouldn't have that problem.
From: Neil Sleightholm n...@x2systems.com
Sent: Wednesday, March 20, 2013 4:49 PM
To: General discussion for Windows Installer XML toolset.
wix-users@lists.sourceforge.net
Subject: Re:
You want:
Session.Property(PREVIOUS_PATH) = pathToProcess
But honestly, Script Custom Actions are very fragile. Consider C++ or C#
instead.
From: Vladimir Yelnikov vladimir.yelni...@gmail.com
Sent: Tuesday, March 19, 2013 10:05 AM
To:
MSM is a Windows Installer standard, wixlib is not. Otherwise they are
similar in function with wixlib being lighter weight and more flexible.
But your scenario confuses me. An MSI can install one and only one
product. It would be more accurate to say the files for one feature goes
in M1
dependency of .Net. I
seem to remember some issues with newer os's not liking the standard .net
installer as it is an optional feature of the OS.
On Mar 11, 2013, at 9:57 PM, Christopher Painter chr...@iswix.com
wrote:
Check out C# / DTF for managed custom action support instead of
PowerShell
actions can easily be decompiled, examined,
tweaked,recompiled and reapplied to an MSI. Try doing that with native.
:-)
From: Rob Mensching r...@robmensching.com
Sent: Tuesday, March 12, 2013 10:27 AM
To: Christopher Painter chr...@iswix.com, General
Put another way, I think it's more important to fully, and I do mean fully,
understand the MSI model including the declarative and transactional
aspects. I've seen far too many installers that ignore all this and then
do some crap in a .BAT or .VBS file. It's more important to focus on this
I don't know of a way. Have you considered upgrading to WiX 3.6 and
implementing a custom bootstrapper application using Burn?
I can only imagine plenty of examples must exist in Redmond to get you
started.
From: Raghu raghu_ti...@yahoo.com
Sent:
I guess I have to wonder
Why run PowerShell period?
I mean, DTF is very powerful and robust. It's also possible to use DTF to
write a managed custom action and call PowerShell code from there.
The only argument I ever here for PowerShell is it's for guys who know how
to script. These
Just use the ~ operator to do a case insensitive comparison.
CREATETABLE~=yes
Btw, they called public properties not global properties.
From: George Fleming gef...@microsoft.com
Sent: Wednesday, March 06, 2013 1:33 PM
To: wix-users@lists.sourceforge.net
thought I would create a simple PowerShell script to import-module (the
core dll) then run the cmdlet (install-license)
I can successfully run this powershell script via the CMD prompt, but
within WIX it is not working :(
Steve
-Original Message-
From: Christopher Painter [mailto:chr
Installer
service was disabled which I guess accounts for this - do you know why this
would be disabled?
I am not sticking up for TFS, it has some good points but in general I
believe there are much better alternatives.
-Original Message-
From: Christopher Painter [mailto:chr...@iswix.com
found
a solution, bottom line is that the installer really ought to be fixed.
-Original Message-
From: Christopher Painter [mailto:chr...@iswix.com]
Sent: 28 February 2013 21:35
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Burn Install / Uninstall
I just gave it a try and sure enough, WiX *IS* installed.
However, validation is still broken (25 errors using a simple merge module
project).
I don't know about you, but I don't generate MSI's without running
validation every build so it's still a non-starter for me.
light.exe : warning
BTW, where did you hear this talk? It does seem to be there despite it
not being documented on this page:
http://tfs.visualstudio.com/en-us/learn/build/hosted-build-controller-in-vs/
( very bottom )
From: David Watson dwat...@sdl.com
Sent: Friday,
I've got a weird scenario involving AdobeFlash. They have an MSI,
TRANSFORM and MSP that I need to use to install. However, their uninstall
is broken (incomplete) and they provide an EXE to run to do a complete
uninstall.
We created a bundle to lay this all down but we are getting stuck
Which is what I do.
I used to have an on-prem TFS app-tier/data-tier and an on-prem build tier.
When I initially evaluated TFS Service I had difficulty keeping the
on-prem build tier registered with the service. I stopped using it for
about a year and when I reevaluated it they had fixed
If there is a NuGet package for WiX, that's news to me. The one time I
played with WiX on the TFS Hosted Build Agent I had to check all the WiX
binaries into source control and tweak the a few things in the targets file
or something (don't fully remember ) to get it to all line up. And I
613-951-1966 Government of Canada | Gouvernement du Canada
-Original Message-
From: Christopher Painter [mailto:chr...@iswix.com]
Sent: February-22-13 9:28 AM
To: General discussion for Windows Installer XML toolset.;
wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Service call
-Original Message-
From: Christopher Painter [mailto:chr...@iswix.com]
Sent: February-21-13 10:39 PM
To: General discussion for Windows Installer XML toolset.;
wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Service call from Custom Action
Not that I'm aware of. Other
Not that I'm aware of. Other then why?
From: keith.doug...@statcan.gc.ca
Sent: Thursday, February 21, 2013 4:12 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Service call from Custom Action
Are there any gotchas one should know about
See Java Service Wrapper:
http://wrapper.tanukisoftware.com/doc/english/introduction.html
From: Castro, Edwin G. (Hillsboro) edwin.cas...@fiserv.com
Sent: Monday, February 18, 2013 10:54 AM
To: afor...@cmu.edu afor...@cmu.edu, General discussion for
No, it doesn't. But I've already answered that on Stack Overflow for you.
From: Stephen Turner sgtur...@audioscience.com
Sent: Wednesday, February 13, 2013 12:29 PM
To: wix-users@lists.sourceforge.net wix-users@lists.sourceforge.net
Subject: [WiX-users]
For C# using DTF it's MMsiBreak. For C/C++ it's MsiBreak. Also you have
to restart the machine after setting the env var for the service control
manager to pick up the environment change and pass it along to the Windows
Installer service.
I've debugged many DTF custom actions it's entirely
I can't imagine why not. In their website the write:
Take winsw.exe from the distribution, and rename it to your taste (such
as myapp.exe) Write myapp.xml (see Configuration Syntax for more
details) Place those two files side by side when you deploy your
application,
The wixproj can pass constants to be used in the wxs, not the other way
around.
You can edit the wixproj by hand and use MSBuild properties such as:
In the OutName property element = ProductName_$(WiXProductVersion)
Then later in the DefineConstants property element you can say
.
From: j2associates j2associa...@yahoo.com
Sent: Friday, February 08, 2013 8:54 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] How can I set/change the generated msi name from
within product.wxs
Christopher Painter-2 wrote
Now when you call MSBUILD you pass
Sorry, haven't read the whole thread
Didn't I read somewhere that VS2012 C++ doesn't support Windows XP?
http://stackoverflow.com/questions/13492056/vs2012-c-dll-compatability
From: Natalie Carr natalie.c...@measuresoft.com
Sent: Friday, January 25,
I suspect keyfiles are your problem also but I'd also point out that you
are using Microsoft.Deployment.WindowsInstaller.Linq not
Microsoft.Deployment.WindowsInstaller. Those classes, according to the SDK
doco, are not fully tested. Try using Installer.OpenProduct and
product.Components[]
I would wonder *WHY* you need an IP address in an install. And *WHICH*
one do you need? A machine can have multiple NICs with different versions
of TCP (4/6) configured. Also your private IP might be different then your
public IP based on NAT and Proxies.
FWIW, you might want to leave open the possibility of InstallShield *AND*
WiX. I find that the two compliment each other nicely in agile /
democratization scenarios.
I'm always available for a telephone chat for anyone who'd like to know
what I mean by this.
Technically it's supported, however, Windows 8 has the .NET 3.5 ( and
2.0/3.0 ) disabled by default. Additionally it's a windows update
download when activating as it's not cached locally on the hard drive.
From: Pally Sandher
The first question is who'll maintain copyright. The second is which OSS
license you'll want to release it under. (Generally there are two types,
permissive and reciprocal )
ISWIX was written on company time at my last job and I had to get them to
reassign the intellectual property rights so
Complete is by definition complete.
What you need to do is customize a dialog that is shown prior to ready for
installation and then use that in a component condition to drive whether an
XML change occurs or not. That way when you get to the complete dialog you
really are complete.
Mark the component as transitive and give it a condition that evaluates to
false. More details at:
http://geekswithblogs.net/Vagmi.Mudumbai/archive/2006/06/11/81426.aspx
From: Hoover, Jacob jacob.hoo...@greenheck.com
Sent: Thursday, November 01, 2012
Why do you need it after the service starts?
MSI creates directories, copies files, writes registry, creates services
and starts services in that order because it makes sense. You could
override the default sequence and write registry after starting services
but that would be for all
Take a look at the Tables_ table.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa372924%28v=vs.85%2
9.aspx
From: samuel.feren...@barclays.com
Sent: Thursday, October 25, 2012 5:25 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users]
RegLocator/AppSearch doesn't support this. You'd have to write a custom
action.
From: Michael Ogilvie michael.ogil...@pixelink.com
Sent: Thursday, October 25, 2012 2:38 PM
To: General discussion for Windows Installer XML toolset.
While I haven't used Burn yet, I've done a lot of Setup Prereqs in
InstallShield. In general, I like to either a) duplicate my prereq checks
in the chainer and the MSI or put a check in the MSI that enforces that
it was launched by the bootstrapper/chainer. You don't want to get in a
SecureCustomProperties in a merge module has always been a problem for
InstallShield. It doesn't properly merge all the properties into a single
property. Frankly I wish MSI had allowed for SecureCustomProperties.Guid (
starts with SecureCustomProperties) to allow for easier merging and use
MSI is complicated. Setup is complicated. There is a learning curve but
once you nail it, it's easy for your users.
The key to MSI is that it's declarative (functional programming),
transactional and has standardized support for upgrades, patches,
uninstall, repair, silent and so on. Learn
It's not only preferred, it's the only way. An application is either logo
compliant or it is not. It's not the job of the installer to mitigate it.
From: Andy Clugston clug...@gmail.com
Sent: Tuesday, September 25, 2012 12:49 PM
To: General discussion
I have an example in C# using DTF at:
http://blog.iswix.com/2008/05/how-dtf-is-going-to-help-me-become.html
http://stackoverflow.com/questions/12492769/wix-remove-old-program-folder-be
fore-install
I know your using C++ so you'll have to look at what the underlying
function is for each
In the past I've used the x509 classes in .NET to install certs. I find the WiX
extension far more elegant despite any taxonomy inconsistencies.
From: Katherine Moss katherine.m...@gordon.edu
Sent: Tuesday, September 18, 2012 11:11 AM
To: General
Actually I love merge modules. :) ( well not really... )
I worked on really massive installers with hundreds of feature and merge
modules and tens of thousands of files. Everything was reusable to compose
different installers. The GUID suffixes make it easy to track down the
source of
Are you DOMZE on StackOverFlow?
From: alex376 asd734jcv9d...@yandex.ru
Sent: Thursday, September 13, 2012 8:09 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] How to solve problem with failed to start service
because of unsufficient
I think just do an admin install, make a copy of it, patch it and then
kdiff the two directories to see which files changed.
From: Steve Ogilvie sogil...@msn.com
Sent: Thursday, September 13, 2012 7:22 AM
To: Peter Shirtcliffe pshirtcli...@sdl.com,
FWIW, while .NET has the System.Environment class available, I tend to still
use the MSI provided OS Properties ( [ProgramFilesFolder]
[ProgramFiles64Folder] ) for these types of resolution. It's a not reinvent
the wheel kind of thing.
From:
There is a mutex to prevent multiple execute sequences. If you are doing
some kind of hack in MSI then you need to do it all from the UI sequence of
the parent installer. If you want that parent to ever work silently the
closest you'll get is 'non-interactive' using /qr.
You didn't seem to
to work. All the Actions
before it need to not reference [ProductName] or else get the 'wrong'
result. Can you think of something wrong with this or is this not good
practice for some reason?
On 30/08/2012 23:26, Christopher Painter wrote:
No. The ProductName property is immutable once
Are you NC1 on Stack Overflow?
From: Natalie Carr natalie.c...@measuresoft.com
Sent: Friday, August 31, 2012 4:50 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Transforms and 1 generic installer
Hi,
I've thought about this a great deal
I'm pretty sure there are a few gotchas. I think the hashing (MD5 vs SHA
) was changed in 3.5 for FIPS compliance. Also I make use of Votive
integration and I recall some project upgrade problems along the lines of
targets files and C++ linker settings. (Certain filenames changed.)
It
I forgot to add... if you use DTF custom actions, there is a nasty little
bug in 3.5 that was fixed in 3.6. I currently run 3.5 but I have
downleveled the MakeSfxCA.dll ( think that's the filename ) from 3.6 to
not have this race condition CA terminate issue.
Translating...
So depending on O/S you you need to.
1) download and install an MSU to get it to show up as a feature and then
call dism or similar to add the feature
or
2) just enable the feature
or
3) run the exe redist to install the product
or perhaps on a future O/S the feature
is not available with the .NET Framework 3.5 on Windows
8.
I don't know how many people used CardSpace but it's very odd that 3.5 is
'installed' but that an entire subsystem is missing!
From: Christopher Painter chr...@iswix.com
Sent: Thursday, August 30, 2012 9:33
Entirely too complicated!
In one blog article they say windows isn't a ship vehicle for .NET and in
another blog article they say that they took it out to keep the size of the
foot print to a minimum. Which is it?
Fortunately I don't have to worry about this right now. I can just author
a
No. The ProductName property is immutable once the installer begins.
You'd have to do something like asking for the name before starting the
install and then dynamically generate and apply a transform for
installation.
From: Jain, Mukesh
Also be aware that the feature names for .NET differ between Server and
Server Core.
(Microsoft never makes it easier for us... always more complicated.)
From: Peter Shirtcliffe pshirtcli...@sdl.com
Sent: Thursday, August 23, 2012 6:59 AM
To: General
I've done this type of installer many times before and whoever is giving
you the requirements is off in the weeds.
What you want is an installer with three feature. Web, App, Data. You
run the installer on 'n' number of machines and installing the features as
needed for your deployment
101 - 200 of 1026 matches
Mail list logo