Question: How do you set the installcontext early enough in the Major Upgrade setup so that it finds the existing product's context to upgrade.
We created a Single Package authored MSI to target Win 7 + To Identify setup package as a Dual Mode we set ALLUSERS set to 2 MSIINSTALLPERUSER set to 1 Issues: 1. Our dev team wants the default install context to be Per Machine so we've provided a context dialog with the All Users defaulted (and the Next button changes ALLUSERS to 1 to accomplish an All User installation) a. In this scenario a silent installation defaults to Per User (any suggestions on changing that behavior) 2. Our issues comes into play on an upgrade of the base setup. Install MSI version 1 as All User to a non default location. Run MSI version 2 (same Upgrade code as version 1) and it isn't finding version 1 as a product to upgrade. It is installing Version 2 as a new product - ONLY when in an AllUser mode. Log Snippet shows MSI (c) (2C:74) [10:19:09:015]: Doing action: FindRelatedProducts Action 10:19:09: FindRelatedProducts. Searching for related applications Action start 10:19:09: FindRelatedProducts. MSI (c) (2C:74) [10:19:09:015]: FindRelatedProducts: current install is per-user. Related install for product '{2C851B7E-5B66-45C2-95D9-7E8C2111E9E1}' is per-machine. Skipping... MSI (c) (2C:74) [10:19:09:015]: FindRelatedProducts: current install is per-user. Related install for product '{2C851B7E-5B66-45C2-95D9-7E8C2111E9E1}' is per-machine. Skipping... Action ended 10:19:09: FindRelatedProducts. Return value 1. 3. For a Per User installation, the upgrade setup properly does a major upgrade of version 1. Thanks Mita -----Original Message----- From: wix-users-requ...@lists.sourceforge.net [mailto:wix-users-requ...@lists.sourceforge.net] Sent: Tuesday, May 06, 2014 12:10 PM To: wix-users@lists.sourceforge.net Subject: WiX-users Digest, Vol 96, Issue 6 Send WiX-users mailing list submissions to wix-users@lists.sourceforge.net To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/wix-users or, via email, send a message with subject or body 'help' to wix-users-requ...@lists.sourceforge.net You can reach the person managing the list at wix-users-ow...@lists.sourceforge.net When replying, please edit your Subject line so it is more specific than "Re: Contents of WiX-users digest..." Today's Topics: 1. Re: Feature Dependencies (Nick Ramirez) 2. what exactly is this: WixMsiNetAssemblySupport? (Steve-Ogilvie) 3. Re: How to not launch install if previous version not found? (Phil Wilson) 4. Re: The problem with admin rights of custom auctions. (Phil Wilson) 5. Re: what exactly is this: WixMsiNetAssemblySupport? (Carter Young) 6. Re: what exactly is this: WixMsiNetAssemblySupport? [P] (Steven Ogilvie) ---------------------------------------------------------------------- Message: 1 Date: Tue, 6 May 2014 07:44:10 -0700 (PDT) From: Nick Ramirez <nickra...@hotmail.com> Subject: Re: [WiX-users] Feature Dependencies To: wix-users@lists.sourceforge.net Message-ID: <1399387450389-7594541.p...@n2.nabble.com> Content-Type: text/plain; charset=us-ascii So the components in FeatureC can be installed as a standalone feature, but those same components are needed by Features A and B? I'd just include the components in all three features. And don't nest Feature C inside Feature A or B. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Feature-Dependencies-tp7594486p7594541.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------ Message: 2 Date: Tue, 6 May 2014 08:35:46 -0700 (PDT) From: Steve-Ogilvie <steven.ogil...@titus.com> Subject: [WiX-users] what exactly is this: WixMsiNetAssemblySupport? To: wix-users@lists.sourceforge.net Message-ID: <1399390546118-7594542.p...@n2.nabble.com> Content-Type: text/plain; charset=us-ascii I can't find any help on it but I am curious what is the difference between this: <CustomAction Id="WixMsiNetAssemblySupport" Error="This application requires .NET Framework 3.5 Service Pack 1. Please turn on this feature in the Control Panel or install manually"/> <InstallExecuteSequence> <Custom Action="WixMsiNetAssemblySupport" After="AppSearch">NOT NETFRAMEWORK35_SP_LEVEL</Custom> <InstallUISequence> <Custom Action="WixMsiNetAssemblySupport" After="AppSearch">NOT NETFRAMEWORK35_SP_LEVEL</Custom> and this: <PropertyRef Id="NETFRAMEWORK35_SP_LEVEL"/> <Condition Message="Requires the Microsoft .NET Framework 3.5 Service Pack 1. To download the requirement please visit: http://www.microsoft.com/en-us/download then restart the setup."> NETFRAMEWORK35_SP_LEVEL = "#1" </Condition> thanks, Steve -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/what-exactly-is-this-WixMsiNetAssemblySupport-tp7594542.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------ Message: 3 Date: Tue, 6 May 2014 09:29:30 -0700 From: Phil Wilson <phildgwil...@gmail.com> Subject: Re: [WiX-users] How to not launch install if previous version not found? To: "General discussion about the WiX toolset." <wix-users@lists.sourceforge.net> Message-ID: <caczvpryjh9uj75hscdjwsij+qrygfzs0+bisfbejgaeotwx...@mail.gmail.com> Content-Type: text/plain; charset=UTF-8 This may no longer be an option, but an external manifest to that exe would disable its virtualization and make it require elevation. http://blogs.msdn.com/b/patricka/archive/2009/12/09/answers-to-several-application-manifest-mysteries-and-questions.aspx --------------- Phil Wilson On Tue, May 6, 2014 at 7:29 AM, Edward Sutton <edward.sut...@subsite.com> wrote: > Hi Nick, > > Thank you for your reply. I think that is a better fit. I have also thought > IExpress and VBScript might be a simpler approach. > > I admit what I am doing is unusual. I have an old pre-Vista legacy app that > used HKEY_LOCAL_MACHINE to store product key registration information. Under > Vista and later this gets "virtualized" and stored under HKEY_CURRENT_USER. > This causes each new user that logs on to call in with a broken license > complaint. My initial thought was the easiest solution for this small set of > customers was to install in new DLL that basically ignores the registry and > returns happy. > > After struggling with the installer I think time would have been better spent > to re-write the DLL to read/write from the correct ALLUSERSPROFILE > ProgramData location. > > -Ed > > > -----Original Message----- > From: Nick Ramirez [mailto:nickra...@hotmail.com] > Sent: Tuesday, May 06, 2014 8:59 AM > To: wix-users@lists.sourceforge.net > Subject: Re: [WiX-users] How to not launch install if previous version not > found? > > Upgrades are used to find and replace previously installed files. But > if there's nothing to replace, there's nothing to say the install > can't continue as a fresh install. If you need to not run the > installer at all if a previous install isn't there then try using a > launch condition > (http://wixtoolset.org/documentation/manual/v3/xsd/wix/launchcondition > s.html) > > > > -- > View this message in context: > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-n > ot-launch-install-if-previous-version-not-found-tp7594474p7594535.html > Sent from the wix-users mailing list archive at Nabble.com. > > ---------------------------------------------------------------------- > -------- Is your legacy SCM system holding you back? Join Perforce May > 7 to find out: > • 3 signs your SCM is hindering your productivity • > Requirements for releasing software faster • Expert tips and > advice for migrating your SCM now http://p.sf.net/sfu/perforce > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > This email and any files transmitted with it from The Charles Machine Works, > Inc. are confidential and intended solely for the use of the individual or > entity to which they are addressed. If you have received this email in error > please notify the sender. Our company accepts no liability for the contents > of this email, or for the consequences of any actions taken on the basis of > the information provided, unless that information is subsequently confirmed > in writing. Please note that any views or opinions presented in this email > are solely those of the author and do not necessarily represent those of the > company. Finally, the recipient should check this email and any attachments > for the presence of viruses. The company accepts no liability for any damage > caused by any virus transmitted by this email. > > > > ---------------------------------------------------------------------- > -------- Is your legacy SCM system holding you back? Join Perforce May > 7 to find out: > • 3 signs your SCM is hindering your productivity • > Requirements for releasing software faster • Expert tips and > advice for migrating your SCM now http://p.sf.net/sfu/perforce > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------ Message: 4 Date: Tue, 6 May 2014 09:36:41 -0700 From: Phil Wilson <phildgwil...@gmail.com> Subject: Re: [WiX-users] The problem with admin rights of custom auctions. To: "General discussion about the WiX toolset." <wix-users@lists.sourceforge.net> Message-ID: <CACZvpRYqdx=yx8hcpam3xyj-85+bc_jiac5s2hnnlxqvqur...@mail.gmail.com> Content-Type: text/plain; charset=UTF-8 It looks like that's a direct migration from a Visual Studio setup project to WiX. The VS setups don't offer all the features that WiX does, and in this case you probably don't need your own code to copy files. Use the <CopyFile> element in WiX. Also, you don't need -install types of command lines to install services if it's just another Windows service. VS did not provide the ServiceInstall and ServiceControl elements that WiX does. --------------- Phil Wilson On Tue, May 6, 2014 at 5:17 AM, Aleksey Tikhonov <lekseytikho...@gmail.com> wrote: > Hello! > > > I have wxs project file: > > <Product Id="$(var.ProductCode)" Name="$(var.ProductName)" > Language="1049" Codepage="1251" Version="$(var.ProductVersion)" > Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> > <Package InstallerVersion="200" Compressed="yes" AdminImage="yes" > InstallScope="perMachine" /> > > ... > > My Custom actions: > > <CustomAction Id="VSDCA_FolderForm_AllUsers" > Property="FolderForm_AllUsers" Value="ALL" /> > <CustomAction Id="_3D169966_7F4D_439B_8537_BD70D91919BA" > Execute="deferred" FileKey="_2EFFD1DC_7915_4BB8_9CBB_5EA8A904EBC3" > adx:VSName="ProjService.exe" ExeCommand="-uninstall" /> > <CustomAction Id="_305A6029_72A4_489A_8231_A0220BE7101E" > Execute="deferred" FileKey="_2EFFD1DC_7915_4BB8_9CBB_5EA8A904EBC3" > adx:VSName="ProjService.exe" ExeCommand="-install" /> > <CustomAction Id="_59E2C944_6709_459D_9DBE_88945EBFA44C" > Execute="deferred" FileKey="_A2D15616_D4F4_447A_B3D2_4F41E4696152" > adx:VSName="CheckOs.dll Save parametrs" DllEntry="SaveParametrs" /> > <CustomAction > Id="_59E2C944_6709_459D_9DBE_88945EBFA44C.SetProperty" > Property="_59E2C944_6709_459D_9DBE_88945EBFA44C" > Value="[TARGETDIR]|[SERVERSANDPORTS]" /> > <CustomAction Id="_AB08B803_44E2_49A9_9413_45FAB63CEA4D" > Execute="deferred" FileKey="_A2D15616_D4F4_447A_B3D2_4F41E4696152" > adx:VSName="CheckOs.dll Show warning messages" > DllEntry="ShowWarningMessages" /> > <CustomAction Id="_1D5A2ADF_9073_427C_9E29_35D656BAC599" > Execute="deferred" FileKey="_A2D15616_D4F4_447A_B3D2_4F41E4696152" > adx:VSName="CheckOs.dll Check X64" DllEntry="CanInstall" /> > <CustomAction > Id="_1D5A2ADF_9073_427C_9E29_35D656BAC599.SetProperty" > Property="_1D5A2ADF_9073_427C_9E29_35D656BAC599" Value="[TARGETDIR]" > /> > <CustomAction Id="DIRCA_TARGETDIR" Property="TARGETDIR" > Value="[ProgramFilesFolder]ProjClient" Execute="firstSequence" /> > > And InstallExecuteSequence: > > <InstallExecuteSequence> > <Custom Action="DIRCA_TARGETDIR" > Before="CostInitialize"><![CDATA[TARGETDIR = ""]]></Custom> > <Custom Action="_1D5A2ADF_9073_427C_9E29_35D656BAC599.SetProperty" > After="StartServices"><![CDATA[$comp_A0CCA35C_322E_4040_AD3F_AE7AB4382C73>2]]></Custom> > <Custom Action="_1D5A2ADF_9073_427C_9E29_35D656BAC599" > After="_1D5A2ADF_9073_427C_9E29_35D656BAC599.SetProperty"><![CDATA[$comp_A0CCA35C_322E_4040_AD3F_AE7AB4382C73>2]]></Custom> > <Custom Action="_AB08B803_44E2_49A9_9413_45FAB63CEA4D" > After="_1D5A2ADF_9073_427C_9E29_35D656BAC599"><![CDATA[$comp_A0CCA35C_322E_4040_AD3F_AE7AB4382C73>2]]></Custom> > <Custom Action="_59E2C944_6709_459D_9DBE_88945EBFA44C.SetProperty" > After="_AB08B803_44E2_49A9_9413_45FAB63CEA4D"><![CDATA[$comp_A0CCA35C_322E_4040_AD3F_AE7AB4382C73>2]]></Custom> > <Custom Action="_59E2C944_6709_459D_9DBE_88945EBFA44C" > After="_59E2C944_6709_459D_9DBE_88945EBFA44C.SetProperty"><![CDATA[$comp_A0CCA35C_322E_4040_AD3F_AE7AB4382C73>2]]></Custom> > <Custom Action="_305A6029_72A4_489A_8231_A0220BE7101E" > After="_59E2C944_6709_459D_9DBE_88945EBFA44C"><![CDATA[$comp_B2547267_A9C5_4B8B_AA20_4380CCF78AAD>2]]></Custom> > <Custom Action="_3D169966_7F4D_439B_8537_BD70D91919BA" > After="MsiUnpublishAssemblies"><![CDATA[$comp_B2547267_A9C5_4B8B_AA20_4380CCF78AAD=2]]></Custom> > </InstallExecuteSequence> > > My custom auction do CopyFile in Program Files directory. > I have UAC with maximum level. I run my msi, welocome dilog and select > target dir dialod are showing, after press next UAC is showing, after > the main directory in program files is created, but after my custom > actions is called without admin rights and I can not copy additinal > file to target dir. > > If I disable UAC then msi is work correctly and my custom action is > run with admin right. How to fix? > > Please help. > Thanks. > > ---------------------------------------------------------------------- > -------- Is your legacy SCM system holding you back? Join Perforce May > 7 to find out: > • 3 signs your SCM is hindering your productivity • > Requirements for releasing software faster • Expert tips and > advice for migrating your SCM now http://p.sf.net/sfu/perforce > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------ Message: 5 Date: Tue, 06 May 2014 13:56:32 -0500 From: Carter Young <ecyo...@grandecom.net> Subject: Re: [WiX-users] what exactly is this: WixMsiNetAssemblySupport? To: wix-users@lists.sourceforge.net Message-ID: <20140506135632.1338222qn2m2i...@webmail.mygrande.net> Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed" This Snippet Searches for some required App, as shown by After AppSearch. If the App is found, it tests for .NET 3.5 SP1, all in a running UI. This is best used in a Custom Install Dialog <CustomAction Id="WixMsiNetAssemblySupport" Error="This application requires .NET Framework 3.5 Service Pack 1. Please turn on this feature in the Control Panel or install manually"/> <InstallExecuteSequence> <Custom Action="WixMsiNetAssemblySupport" After="AppSearch">NOT NETFRAMEWORK35_SP_LEVEL</Custom> <InstallUISequence> <Custom Action="WixMsiNetAssemblySupport" After="AppSearch">NOT NETFRAMEWORK35_SP_LEVEL</Custom> This Snippet returns the SP Level to the ID NETFRAMEWORK35_SP_LEVEL, ie if the Test returns 0, and the tested level = 1 the Download message is displayed, and for debugging purposes the SP Level is displayed. This is best used with an Install Condition, ie Condition = [Installed OR NETFRAMEWORK35_SP_LEVEL <=1] <PropertyRef Id="NETFRAMEWORK35_SP_LEVEL"/> <Condition Message="Requires the Microsoft .NET Framework 3.5 Service Pack 1. To download the requirement please visit: http://www.microsoft.com/en-us/download then restart the setup."> NETFRAMEWORK35_SP_LEVEL = "#1" </Condition> In both cases the desired result is achieved in that an end users machine is tested for .net 3.5 Carter ------------------------------ Message: 6 Date: Tue, 6 May 2014 19:09:32 +0000 From: Steven Ogilvie <steven.ogil...@titus.com> Subject: Re: [WiX-users] what exactly is this: WixMsiNetAssemblySupport? [P] To: General discussion about the WiX toolset. <wix-users@lists.sourceforge.net> Message-ID: <0d9b21543ac149da95e56ed65f4fd2d3@EXCH15-MBX1.tituscorp.local> Keywords: Public Content-Type: text/plain; charset="iso-8859-1" Classification: Public Thanks Carter! Steve -----Original Message----- From: Carter Young [mailto:ecyo...@grandecom.net] Sent: May-06-14 2:57 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] what exactly is this: WixMsiNetAssemblySupport? This Snippet Searches for some required App, as shown by After AppSearch. If the App is found, it tests for .NET 3.5 SP1, all in a running UI. This is best used in a Custom Install Dialog <CustomAction Id="WixMsiNetAssemblySupport" Error="This application requires .NET Framework 3.5 Service Pack 1. Please turn on this feature in the Control Panel or install manually"/> <InstallExecuteSequence> <Custom Action="WixMsiNetAssemblySupport" After="AppSearch">NOT NETFRAMEWORK35_SP_LEVEL</Custom> <InstallUISequence> <Custom Action="WixMsiNetAssemblySupport" After="AppSearch">NOT NETFRAMEWORK35_SP_LEVEL</Custom> This Snippet returns the SP Level to the ID NETFRAMEWORK35_SP_LEVEL, ie if the Test returns 0, and the tested level = 1 the Download message is displayed, and for debugging purposes the SP Level is displayed. This is best used with an Install Condition, ie Condition = [Installed OR NETFRAMEWORK35_SP_LEVEL <=1] <PropertyRef Id="NETFRAMEWORK35_SP_LEVEL"/> <Condition Message="Requires the Microsoft .NET Framework 3.5 Service Pack 1. To download the requirement please visit: http://www.microsoft.com/en-us/download then restart the setup."> NETFRAMEWORK35_SP_LEVEL = "#1" </Condition> In both cases the desired result is achieved in that an end users machine is tested for .net 3.5 Carter ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ? This message has been marked as?Public?by?Steven Ogilvie?on?May-06-14 3:09:28 PM. The above classification labels were added to the message by TITUS Message Classification.? For more information visit www.titus.com. ------------------------------ ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users End of WiX-users Digest, Vol 96, Issue 6 **************************************** ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users