Case matters in ALL properties. The only place in conditions where case does
not matter are the keywords (e.g. NOT/AND/OR can be any case).

The last number is ignored when used in the Upgrade table (where the
comparison is made with the ProductVersion value), but that table is
completely ignored when using small updates/minor upgrades (such as when
using MSP) unless you use your own custom action to parse that table (in
which case you can do whatever you want). No other version number parts are
ignored (file versions always use all four parts).

When using MSPs you can use sequencing, which uses all four numbers (none
are ignored) of the patch sequence number, to achieve upgrading and prevent
downgrading.

Blair

-----Original Message-----
From: Justin Hull [mailto:justin.h...@assetpoint.com] 
Sent: Tuesday, November 15, 2011 12:22 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] upgrade install errors

Perhaps a final question.  Does Upper Case lower case matter when using
internal properties.  For example:
Installed vs INSTALLED
UILevel vs UILEVEL

I ask because a condition I set up to get around an INI write I wrote as
UILEVEL > 3 and it still tried to execute the component on a /passive
upgrade.  I found that I could use NOT Installed to detect if something was
installed before, but does that work for an Upgrade.  I installed 8200, I
want to upgrade to 8201 with an msp.  The company version numbers are in the
form x.x.x.x (eg 8.2.0.0).  The upgrade is numbered 8.2.0.1, but from what
I've read it seems the installer ignores the last number.

Justin Hull


Office: 864-679-3500 (3413)



-----Original Message-----
From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Sent: Tuesday, November 15, 2011 9:00 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] upgrade install errors

UILevel
http://msdn.microsoft.com/en-us/library/aa372096%28v=VS.85%29.aspx

Don't forget that in passive mode, the InstallUISequence doesn't run. If
there's anything in there setting the properties, it may need repeating in
or moving to the execute sequence. Or set a default when the property is
blank.

During installation, you should "persist" the property values and during
repair and other maintenance modes, reread them, if you aren't already.

-----Original Message-----
From: Justin Hull [mailto:justin.h...@assetpoint.com]
Sent: 15 November 2011 13:48
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] upgrade install errors

I believe I discovered the issue.  In the project I have a section that
writes to an INI file details gathered in a normal install (see below).

When I perform a full install or on upgrade I select a modify action, the
upgrade works fine.  However, when I run the msiexec in /passive, I get this
error.  What I see happening is that the WIX "code" has a variable for
section name.  In passive mode the one condition that is not checking for
blanks allows for the component to be processed yet the section name is
blank.  I figure a no no in MSI.

What I would like to do is alter the condition to determine if I am running
in /passive or below (silent) and not execute those components.  If anyone
knows of a property that I can check please let me know.  I believe I can
check MsiSetInternalUI.  If successful I will post my solution, but I am
open to other options.
-----------------------------------------------------------------------
                            <Component Id="IniSettings_SQL"
Guid="6468BB66-18C2-43CD-A72B-48050FC1737E">
                                <IniFile Id="TABWARE.INI.DbItem_sql"
Action="addLine" Key="Database1" Name="TABWARE.INI" Section="database"
Directory="VersionDir" Value="[DATABASE_DISPLAY1]" />
                                <IniFile Id="TARGETDIR.INI.DbVendor_sql"
Action="addLine" Key="Vendors" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY1]" Directory="VersionDir" Value="Sybase" />
                                <IniFile Id="TABWARE.INI.DBMS_sql"
Action="addLine" Key="DBMS" Name="TABWARE.INI" Section="[DATABASE_DISPLAY1]"
Directory="VersionDir" Value="ADO.Net" />
                                <IniFile Id="TABWARE.INI.ServerName_sql"
Action="addLine" Key="ServerName" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY1]" Directory="VersionDir" Value="[SERVER_NAME]"
/>
                                <IniFile Id="TABWARE.INI.Database_sql"
Action="addLine" Key="Database" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY1]" Directory="VersionDir" Value="[DATABASE_NAME]"
/>
                                <IniFile Id="TABWARE.INI.TabVendor_sql"
Action="addLine" Key="TabVendor" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY1]" Directory="VersionDir" Value="sybase" />
                                <IniFile Id="TABWARE.INI.DbItem_sql_blank"
Action="addLine" Key="'=====" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY1]" Directory="VersionDir" Value="=====" />
                                <Condition>DBTYPE=1 AND INSTALLMODE &lt;&gt;
"Repair"</Condition>
                                <CreateFolder />
                            </Component>
                            <Component Id="IniSettings_SQL_test"
Guid="D498FD64-22D3-4103-9CA1-F0E9911F3726">
                                <IniFile Id="TABWARE.INI.DbItem_sql_test"
Action="addLine" Key="Database2" Name="TABWARE.INI" Section="database"
Directory="VersionDir" Value="[DATABASE_DISPLAY2]" />
                                <IniFile
Id="TARGETDIR.INI.DbVendor_sql_test"
Action="addLine" Key="Vendors" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY2]" Directory="VersionDir" Value="Sybase" />
                                <IniFile Id="TABWARE.INI.DBMS_sql_test"
Action="addLine" Key="DBMS" Name="TABWARE.INI" Section="[DATABASE_DISPLAY2]"
Directory="VersionDir" Value="ADO.Net" />
                                <IniFile
Id="TABWARE.INI.ServerName_sql_test"
Action="addLine" Key="ServerName" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY2]" Directory="VersionDir" Value="[SERVER_NAME2]"
/>
                                <IniFile Id="TABWARE.INI.Database_sql_test"
Action="addLine" Key="Database" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY2]" Directory="VersionDir" Value="[DATABASE_TEST]"
/>
                                <IniFile Id="TABWARE.INI.TabVendor_sql_test"
Action="addLine" Key="TabVendor" Name="TABWARE.INI"
Section="[DATABASE_DISPLAY2]" Directory="VersionDir" Value="sybase" />
                                <Condition><![CDATA[DBTYPE = 1 AND
DATABASE_TEST <> "" AND DATABASE_TEST <> " " AND INSTALLMODE <>
"Repair"]]></Condition>
                                <CreateFolder />
                            </Component>

----------------------------------------------------------------------------
-
---------------------
Justin Hull


Office: 864-679-3500 (3413)



-----Original Message-----
From: Wheeler, Blaine (DSHS/DCS) [mailto:bwhee...@dshs.wa.gov]
Sent: Monday, November 14, 2011 8:15 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] upgrade install errors

The MSI documentation says that error 2109 mean "Section missing for .ini
action"
http://msdn.microsoft.com/en-us/library/aa372835(v=VS.85).aspx

There is probably a note higher up in the log that can tell you more detail
or at least the exact step

-----Original Message-----
From: Justin Hull [mailto:justin.h...@assetpoint.com]
Sent: Monday, November 14, 2011 1:34 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] upgrade install errors

I discovered why my upgrade was rolling back.  I was getting a fatal error.

MSI (s) (80:7C) [16:09:22:691]: Executing op:
ActionStart(Name=WriteRegistryValues,Description=Writing system registry
values,Template=Key: [1], Name: [2], Value: [3]) MSI (s) (80:7C)
[16:09:22:699]: Executing op:
ProgressTotal(Total=14,Type=1,ByteEquivalent=13200)
MSI (s) (80:7C) [16:09:22:700]: Executing op:
ActionStart(Name=WriteIniValues,Description=Writing INI files
values,Template=File: [1],  Section: [2],  Key: [3], Value: [4]) MSI (s)
(80:7C) [16:09:22:700]: Executing op:
ProgressTotal(Total=11,Type=1,ByteEquivalent=13200)
MSI (s) (80:7C) [16:09:22:700]: Executing op:
IniFilePath(File=VER_SRVR.INI,Folder=C:\Program Files\Assetpoint\TabWare Xi
8.2\) MSI (s) (80:7C) [16:09:22:700]: Executing op:
IniWriteRemoveValue(Section=Release,Key=ApplicationPath,Value=C:\Program
Files\Assetpoint\TabWare Xi 8.2\,Mode=0) MSI (s) (80:7C) [16:09:22:701]:
Executing op:
IniWriteRemoveValue(Section=Release,Key=INIPath,Value=C:\ProgramData\Ass
etPoint\TabWare\8.2\,Mode=0)
MSI (s) (80:7C) [16:09:22:703]: Executing op:
IniFilePath(File=TABWARE.INI,Folder=C:\ProgramData\AssetPoint\TabWare\8.
2\)
MSI (s) (80:7C) [16:09:22:703]: Executing op:
IniWriteRemoveValue(Section=Help,Key=UserManual,Value=C:\ProgramData\Ass
etPoint\TabWare\8.2\TabWare_Xi_User_Manual.chm,Mode=0)
MSI (s) (80:7C) [16:09:22:704]: Executing op:
IniWriteRemoveValue(,Key=Vendors,Value=Sybase,Mode=0)
MSI (s) (80:7C) [16:09:22:704]: Note: 1: 2109
DEBUG: Error 2109:  Section missing for INI action.
MSI (s) (80:7C) [16:09:22:705]: Product: TabWare Xi 8.201 -- The installer
has encountered an unexpected error installing this package.
This may indicate a problem with this package. The error code is 2109.
The arguments are: , ,

I tried looking around the net, but not really sure there was anything
definitive out there that explained this issue.  I posted before, attaching
the log file but is was @ 3mg.  I will send project files if needed.

Thanks,


Justin Hull


Office: 864-679-3500 (3413)



-----Original Message-----
From: Justin Hull [mailto:justin.h...@assetpoint.com]
Sent: Tuesday, November 08, 2011 11:38 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Fragments and Patch generation

You have a number of options depending on what your constraints are.

The easiest upgrade type to write is a major upgrade with an early
scheduling of RemoveExistingProducts. It's much more tolerant of mistakes.

Could you point me in the right direction for this?  I have both Phil
Wilson's Windows Installer book and the Wix developer guide, but the section
on upgrades is what I'm stuck on.  To get past this point in my project is
what I am looking for so we can revamp the whole process going forward (I
inherited this project).

We may look at one file per component, but this is not feasible for this
install/upgrade.
------------------------------------------------------------------------
------------------------
Moving to 1 file per component is another option. That way, the keypath of
each component is the file that changes. You can't do this if you've already
released because of the rules in what you can do in an upgrade.

If you must keep using 1 component per directory then always bump the
version number of the component's keypath of the component when changing
anything in the component.  I believe that's what you meant by changing the
initial file in the basedata folder. You would have to do that for each
component (and therefore directory) that changes. Adding keypath=yes isn't
going to help because its already implicitly set to the default. Also you
must not change a component keypath, once set.

-----Original Message-----
From: justin hull [mailto:justin.h...@assetpoint.com]
Sent: 08 November 2011 16:13
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Fragments and Patch generation

Thanks for the input.  It got me looking in different directions.  I found
this link which is interesting for it both advocates the need to break MS
rules on one file per component while stating it is the preferred method
(sigh).

http://makemsi-manual.dennisbareis.com/component_keypath.htm

In looking at my wxi files, these are build via paraffin and with the amount
of files involved I had paraffin group the files under directory components.
Given what you said, could I solve this by just changing the initial file in
the basedata folder?  Would I have to do that for each sub directory?
Would
adding keypath='yes' work instead?  I will try these options with the
remaining wisps of hair I still have on my head.

I did see that the base component does not have keypath yet does allow
updates of files.

        <Directory Id="TARGETDIR" Name="SourceDir">
            <Component Id="TabWareInstall"
Guid="3220C16B-055A-4DD5-9896-31DD7D726D11">

My other plan will be to manually integrate the fragment files into the main
project (not what I want to do in the future) to see if that will work.

Justin Hull

[cid:image003.jpg@01CC9E07.564C9180]
Office: 864-679-3500 (3413)


From: Peter Shirtcliffe [via Windows Installer XML (WiX) toolset]
[mailto:ml-node+s687559n6974692...@n2.nabble.com]
Sent: Tuesday, November 08, 2011 10:24 AM
To: Justin Hull
Subject: Re: Fragments and Patch generation

I did a quick diff of the 2 wxs files. The changes appear to be in a
component whose keypath doesn't change. I think, by default, in Wix v3+ the
first file/registry key in a component is taken to be the keypath unless one
is specified explicitly.
Unless the component's keypath changes, the component won't be reinstalled.
This is one reason 1 file per component is recommended - you don't need to
bump the version of unchanged files to get your changed files updated.


-----Original Message-----
From: justin hull [mailto:[hidden
email]</user/SendEmail.jtp?type=node&node=6974692&i=0>]
Sent: 08 November 2011 14:01
To: [hidden email]</user/SendEmail.jtp?type=node&node=6974692&i=1>
Subject: Re: [WiX-users] Fragments and Patch generation

That makes sense.  The files are large so I will upload them.
Original base install
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n6974
348/T
abWareXiTools8200.wxs
TabWareXiTools8200.wxs

project for full install for patch (upgrade)
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n6974
348/T
abWareXiTools8201.wxs
TabWareXiTools8201.wxs

Patch project 8200 > 8201
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n6974
348/P
atch.wxs
Patch.wxs

Database fragment
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n6974
348/d
atabasefiles.wxi
databasefiles.wxi

The wixmst differences file is over 2mg so I wont upload it all, but what is
happening is that I am getting the files in the main directory updated, but
I am not getting the files in the sub folders like Database

\Tabware
     {Files here are updated}
     \Databases
           \BaseData
                 {These fiels are not even touched}

An example is this one database file.  I find it in the diff file in various
locations, but it does not update even when I "force" an update:

...
-<row sourceLineNumber="C:\dev\TabwareInstalls\databasefiles.wxi*47"
sectionId="wix.section.3/wix.section.3"
op="modify"><field>file_twdatabase_11</field><field>comp_twdatabase_0</f
ield>
<field>zzwinact.txt</field><field
modified="yes">146866</field><field/><field/><field>512</field><field>48
</fie
ld></row>
...
-<row sourceLineNumber="C:\dev\TabwareInstalls\databasefiles.wxi*47"
sectionId="wix.section.3/wix.section.3"><field>file_twdatabase_11</field
><fie
ld/><field/><field/><field>dir_DATABASE_basedata_1</field><field>1</fiel
d><fi
eld
previousData="c:\8.2.0.x\Pro00\DATABASE\basedata\zzwinact.txt">c:\8.2.0.
x\Pro
01\DATABASE\basedata\zzwinact.txt</field><field/><field>-1</field><field
>0</f
ield><field>0</field><field/><field/><field/><field/></row>
...

The database files are added to the proejct via the fragment.  This is why I
am wondering if the fragment, built by paraffin, is not being recognized in
the pyro process.

--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Fragments-
and-P
atch-generation-tp6972320p6974348.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------
-----
-
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
[hidden email]</user/SendEmail.jtp?type=node&node=6974692&i=2>
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.


------------------------------------------------------------------------
-----
-
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
[hidden email]</user/SendEmail.jtp?type=node&node=6974692&i=3>
https://lists.sourceforge.net/lists/listinfo/wix-users

________________________________
If you reply to this email, your message will be added to the discussion
below:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Fragments-
and-P
atch-generation-tp6972320p6974692.html
To unsubscribe from Fragments and Patch generation, click
here<http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/templ
ate/N
amlServlet.jtp?macro=unsubscribe_by_code&node=6972320&code=anVzdGluLmh1b
GxAYX
NzZXRwb2ludC5jb218Njk3MjMyMHwtMTI4MTg0Nzg4NQ==>.


--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Fragments-
and-P
atch-generation-tp6972320p6974879.html
Sent from the wix-users mailing list archive at Nabble.com.
------------------------------------------------------------------------
-----
-
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------
------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------
------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------
------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



----------------------------------------------------------------------------
-
-
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
-
-
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
--
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
--
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to