Since I have set default properties I just need to test BEFORE I set the 
default to make sure some key "required" properties are set and if any of these 
are set then I could safely avoid the dialog UI and take the defaults for the 
rest. How do I test for the existence of a property and disable the dialog if 
true?

Kevin Burton
Senior Software Engineer
BUYSEASONS
262-901-2000 Office
262-901-2312 Fax
kev...@buyseasons.com


-----Original Message-----
From: Chad Petersen [mailto:chad.peter...@harlandfs.com]
Sent: Wednesday, February 23, 2011 11:01 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Command line installation?

I can offer some help. For the command line you append your PROPERTYNAME 
followed by an equal sign and then the value you want to assign to that 
property. Like this.

msiexec /L*v c:\log.txt /i my.msi PROPERTYNAME1=value1
PROPERTYNAME2=value2

In my experience it seemed like if you gave it all "required" properties that 
correspond to your UI then it breezes through without a hitch. But, if you 
forget a property it either starts popping up dialog boxes for you to fill in 
or some other behavior, I can't remember which. I'm not sure if you only give 
it one or two properties that it's going to know what to do for the remainder.

A command line that works for my installer is 623 characters long, but it can 
install in a test environment where all properties are known quantities without 
any dialogs showing. Really helps with automation.

-----Original Message-----
From: Kevin Burton [mailto:kev...@buyseasons.com]
Sent: Wednesday, February 23, 2011 7:08 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Command line installation?

I would like to know what strategies are best to use if I optionally don't want 
a UI. Right now I have a custom dialog that appears and it sets a number of 
properties. If any of these properties are set on the command line I would like 
to skip the dialog. That is one question. The second question is how do I set 
the properties on the command line?

If it helps the dialog is defined as

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
        <Fragment>
    <UI>
      <Property Id="FULLYQUALIFIEDCOMPUTERNAME"
Hidden="yes">devbrain03</Property>
      <Property Id="SERVICEUSER" Hidden="yes">user</Property>
      <Property Id="SERVICEPASSWORD" Hidden="yes">testing</Property>
      <Property Id="SQLSERVER" Hidden="yes">computer</Property>
      <Property Id="TRANSACTIONSSQLSERVER"
Hidden="yes">computer</Property>
      <Property Id="REPLICATEDTRANSACTIONSERVER"
Hidden="yes">computer</Property>
      <Property Id="INVENTORYSERVER" Hidden="yes">computer</Property>
      <Property Id="SHIPPINGSERVER" Hidden="yes">computer</Property>
      <Property Id="COMMERCESERVERSITENAME" Hidden="yes">site</Property>
      <Property Id="SMTPSERVERNAME"
Hidden="yes">mail.company.com</Property>
      <Property Id="LYRISSQLSERVER" Hidden="yes">server</Property>
      <Property Id="LYRISUSER" Hidden="yes">user</Property>
      <Property Id="LYRISPASSWORD" Hidden="yes">testing</Property>
      <Property Id="CYBERSOURCEURL" Hidden="yes">https://myco.ic3.com/
</Property>
      <Dialog Id="PropertiesDlg" Width="290" Height="390"
Title="[ProductName] [ProductVersion] $(var.Configuration)"
NoMinimize="yes">
        <Control Id="Title" Type="Text" X="15" Y="6" Width="200"
Height="15" Transparent="yes" NoPrefix="yes" Text="Ready to Install" />
        <Control Id="ComputerNameLabel" Type="Text" X="15" Y="26"
Width="80" Height="15" Transparent="yes" NoPrefix="yes" Text="Computer Name" />
        <Control Id="ComputerNameEdit" Type="Edit" X="114" Y="22"
Width="150" Height="18" Property="FULLYQUALIFIEDCOMPUTERNAME" />
        <Control Id="UserLabel" Type="Text" X="15" Y="46" Width="80"
Height="15" Transparent="yes" NoPrefix="yes" Text="User" />
        <Control Id="UserEdit" Type="Edit" X="114" Y="42" Width="150"
Height="18" Property="SERVICEUSER" />
        <Control Id="PasswordLabel" Type="Text" X="15" Y="66" Width="80"
Height="15" Transparent="yes" NoPrefix="yes" Text="Password" />
        <Control Id="PasswordEdit" Type="Edit" X="114" Y="62"
Width="150" Height="18" Property="SERVICEPASSWORD" Password="yes" />
        <Control Id="SqlServerLabel" Type="Text" X="15" Y="86"
Width="100" Height="15" Transparent="yes" NoPrefix="yes"
Text="BuySeasons Sql Server" />
        <Control Id="SqlServerEdit" Type="Edit" X="114" Y="82"
Width="150" Height="18" Property="SQLSERVER" />
        <Control Id="TransactionsSqlServerLabel" Type="Text" X="15"
Y="106" Width="100" Height="15" Transparent="yes" NoPrefix="yes"
Text="Transactions Sql Server" />
        <Control Id="TransactionsSqlServerEdit" Type="Edit" X="114"
Y="102" Width="150" Height="18" Property="TRANSACTIONSSQLSERVER" />
        <Control Id="ShippingSqlServerLabel" Type="Text" X="15" Y="126"
Width="100" Height="15" Transparent="yes" NoPrefix="yes" Text="Shipping Sql 
Server" />
        <Control Id="ShippingSqlServerEdit" Type="Edit" X="114" Y="122"
Width="150" Height="18" Property="SHIPPINGSERVER" />
        <Control Id="ReplicatedTransactionsSqlServerLabel" Type="Text"
X="15" Y="146" Width="100" Height="15" Transparent="yes" NoPrefix="yes"
Text="Replicated Sql Server" />
        <Control Id="ReplicatedTransactionsSqlServerEdit" Type="Edit"
X="114" Y="142" Width="150" Height="18"
Property="REPLICATEDTRANSACTIONSERVER" />
        <Control Id="InventoryServerLabel" Type="Text" X="15" Y="166"
Width="100" Height="15" Transparent="yes" NoPrefix="yes" Text="Inventory 
Server" />
        <Control Id="InventoryServerEdit" Type="Edit" X="114" Y="162"
Width="150" Height="18" Property="INVENTORYSERVER" />
        <Control Id="LyrisDatabaseSqlServerLabel" Type="Text" X="15"
Y="186" Width="100" Height="15" Transparent="yes" NoPrefix="yes"
Text="Lyris Sql Server" />
        <Control Id="LyrisDatabaseSqlServerEdit" Type="Edit" X="114"
Y="182" Width="150" Height="18" Property="LYRISSQLSERVER" />
        <Control Id="LyrisDatabaseUserLabel" Type="Text" X="15" Y="206"
Width="100" Height="15" Transparent="yes" NoPrefix="yes" Text="Lyris User Name" 
/>
        <Control Id="LyrisDatabaseUserEdit" Type="Edit" X="114" Y="202"
Width="150" Height="18" Property="LYRISUSER" />
        <Control Id="LyrisDatabasePasswordLabel" Type="Text" X="15"
Y="226" Width="100" Height="15" Transparent="yes" NoPrefix="yes"
Text="Lyris Password" />
        <Control Id="LyrisDatabasePasswordEdit" Type="Edit" X="114"
Y="222" Width="150" Height="18" Property="LYRISPASSWORD" Password="yes"
/>
        <Control Id="SiteNameLabel" Type="Text" X="15" Y="286"
Width="80" Height="15" Transparent="yes" NoPrefix="yes" Text="Site Name"
/>
        <Control Id="SiteNameEdit" Type="Edit" X="114" Y="282"
Width="150" Height="18" Property="COMMERCESERVERSITENAME" />
        <Control Id="SmtpServerNameLabel" Type="Text" X="15" Y="306"
Width="80" Height="15" Transparent="yes" NoPrefix="yes" Text="SMTP Server" />
        <Control Id="SmtpServerNameEdit" Type="Edit" X="114" Y="302"
Width="150" Height="18" Property="SMTPSERVERNAME" />
        <Control Id="CyberSourceURLLabel" Type="Text" X="15" Y="326"
Width="80" Height="15" Transparent="yes" NoPrefix="yes"
Text="CyberSource URL" />
        <Control Id="CyberSourceURLEdit" Type="Edit" X="114" Y="322"
Width="150" Height="18" Property="CYBERSOURCEURL" />
        <Control Id="OK" Type="PushButton" X="104" Y="352" Width="56"
Height="17" Default="yes" Text="OK">
          <Publish Event="EndDialog"

Value="Return"/>
        </Control>
        <Control Id="Cancel" Type="PushButton" X="164" Y="352"
Width="56" Height="17" Cancel="yes" Text="Cancel">
          <Publish Event="EndDialog"

Value="Exit"/>
        </Control>
      </Dialog>
      <AdminUISequence />
      <InstallUISequence />
    </UI>
  </Fragment>
</Wix>

Kevin Burton
Senior Software Engineer
BUYSEASONS
262-901-2000 Office
262-901-2312 Fax
kev...@buyseasons.com

-----Original Message-----
From: Rob Mensching [mailto:r...@robmensching.com]
Sent: Wednesday, February 16, 2011 9:40 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Conditionally invoking ServiceInstall Element

I don't think more disk space should be consumed if things are cabbed and the 
service executable is identical in the two Components (one Conditioned, the 
other not) because only one will ever get installed on the machine (due to 
mutually exclusive Conditions) and smart-cabbing should make sure only one file 
is in the cabinet.

(wow, that's one sentence <smile/>).
On Mon, Feb 14, 2011 at 8:50 AM, Christopher Painter < 
chr...@deploymentengineering.com> wrote:

> Technically it's a violation of the component rules.   However, if you
can
> make
> sure that the two components ( whether they be in two merge modules or

> no merge modules ) have mutually exclusive component conditions so
> that only one will
> ever be installed you can pretty much get away with it.   You will
still
> get
> validation errors as part of the build though I believe.  I've done
> this in the past  and my main complaint about it is it doesn't scale
> well.
>
>
> If dev doesn't want to redo the app,  what would be the effect of
> taking consoleappservice.exe and copying / renaming it to have two
files:
>
> consoleapp.exe
> service.exe
>
> It's a confusing hack and you'll eat up more disk space then if you
> factored it
> out into the shared.dll   but you should be able to still do
everything I
> mentioned previously.   If this is .NET code it might not be happy but
you
> could
> give it a try.
>
> Personally if it is a .NET service, I can't imagine it taking more
> then a few hours to factor out, build and test.
>
> ---
> 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
>
>
>
> ----- Original Message ----
> From: Gregg Swanson <gregg.swan...@microsoft.com>
> To: General discussion for Windows Installer XML toolset.
> <wix-users@lists.sourceforge.net>
> Sent: Mon, February 14, 2011 10:38:26 AM
> Subject: Re: [WiX-users] Conditionally invoking ServiceInstall Element
>
> Thanks for the help...
>
> I am a WIX rooky.
>
> Is this is a valid option -
>
> Package the consleappservice.exe in two separate merge modules, the
> first doesn't invoke ServiceInstall the second does invoke
ServiceInstall?
>
> The application that I am helping will have to refactor code and they
> may be reluctant to do so at this point in time.
>
> Thanks,
> Gregg
>
>
> -----Original Message-----
> From: Christopher Painter [mailto:chr...@deploymentengineering.com]
> Sent: Monday, February 14, 2011 10:14 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Conditionally invoking ServiceInstall Element
>
> The ServiceControl element is a child of the Component which is a
> child of the Feature element so the condition can be applied at the
> Feature or Component level.  If the component is installed the service

> will be installed and there's no way around that except to factor your

> service out of the console app:
>
> consleappservice.exe ->  consoleapp.exe, service.exe, shared.dll
>
> Then you can put have Feature A reference  the consoleapp.exe and
> shared.dll components and Feature B referene service.exe and
> shared.dll components.  (
> Note: There is only 1 shared.dll component )
>
> If feature B is installed you will get a service.  If feature B is not

> installed you will not get a service but you can still have your
> console app if feature A is installed.
>
> >From a SysAdmin's point of view it's silent installs can be:
>
> msiexec /i foo.msi ADDLOCAL=A  /qn   or
> msiexec /i foo.msi ADDLOCAL=A,B /qn
>
> If the service was not previously installed and now desired they can
> issue the
> command:
>
> msiexec /i foo.msi ADDLOCAL=B /qn
>
> If the service was previously installed and no longer desired they can

> issue the command
>
> msiexec /i foo.msi REMOVE=B /qn
>
> If they want to uninstall all together they can say:
>
> msiexec /x foo.msi  /qn  or
> msiexec /i foo.msi REMOVE=ALL /qn
>
>
> ---
> 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
>
>
>
> ----- Original Message ----
> From: Gregg Swanson <gregg.swan...@microsoft.com>
> To: "wix-users@lists.sourceforge.net"
> <wix-users@lists.sourceforge.net>
> Sent: Mon, February 14, 2011 9:48:47 AM
> Subject: [WiX-users] Conditionally invoking ServiceInstall Element
>
> Hello,
>
> I have a Console application that may also be used as a Windows
> Service. Is it possible to conditionally invoke or not invoke the
> ServiceInstall element to control when the service is installed?
>
>
> Thanks,
> Gregg
>
>
------------------------------------------------------------------------
------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio
XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
>
------------------------------------------------------------------------
------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio
XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
------------------------------------------------------------------------
------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio
XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
>
------------------------------------------------------------------------
------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio
XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------
------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio
XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------
------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual 
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual 
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to