On Mon, Nov 8, 2010 at 2:11 PM, Blair <[email protected]> wrote:
> What does a verbose log say?
>
I am afraid it did not say much there are the references I could to to the
applicable elements
---
Action start 12:11:27: AppSearch.
AppSearch: Property: SQLSERVER, Signature: RepositoryLocation
---
Property(C): ComputerName = WRK2387
---
>
> Also, what you have written will ALWAYS set the property to the local
> computer's name during the execute sequence no matter what was in the
> registry.
>
> Do you want something more like this?
>
> <SetProperty Before='InstallInitialize' Sequence='execute' Id='SQLSERVER'
> Value='[ComputerName]'>NOT SQLSERVER</SetProperty>
>
Yes I would like SQLSERVER to default to ComputerName if the registry key
does not exist.
>
> <Property Id='SQLSERVER' Secure='yes'>
> <RegistrySearch Id='RepositoryLocation'
>
> Key='SOFTWARE\MyCompany\MyProduct\MyVersion\MyComponent'
> Name='RepositoryServer'
> Root='HKLM'
> Type='raw'
> />
> </Property>
>
I tried the following
<Product>
<SetProperty Before='InstallInitialize' Sequence='both' Id='SQLSERVER'
Value='[ComputerName]'>NOT SQLSERVER</SetProperty>
<Property Id='SQLSERVER'>
<RegistrySearch Id='RepositoryLocation'
Key='SOFTWARE\MyCompany\
MyProduct\MyVersion\MyComponent'
Name='RepositoryServer'
Root='HKLM'
Type='raw'
/>
</Property>
</Product>
and it resulted in the following error
[light] light.exe : error LGHT0001 : Found an ActionRow with a
non-existent Before action.
[light]
[light] Exception Type: System.InvalidOperationException
[light]
[light] Stack Trace:
[light] at
Microsoft.Tools.WindowsInstallerXml.Linker.SequenceActionRow(WixActionRow
actionRow, WixActionRowCollection requiredActionRows)
[light] at
Microsoft.Tools.WindowsInstallerXml.Linker.SequenceActions(RowCollection
actionRows, RowCollection suppressActionRows)
[light] at
Microsoft.Tools.WindowsInstallerXml.Linker.Link(SectionCollection sections,
ArrayList transforms, OutputType expectedOutputType)
[light] at
Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)
That was with wix3.0. I tried moving the SetProperty to the
InstallExecuteSequence section but it not available there.
>
> Replace "execute" with "both" if you display/use SQLSERVER in your UI
> sequence.
>
I do and I did. I also tried this
<Product>
<CustomAction Id="SetSQLServer" Property="SQLSERVER"
Value="[ComputerName]"/>
<Property Id='SQLSERVER'>
<RegistrySearch Id='RepositoryLocation'
Key='SOFTWARE\MyCompany\
MyProduct\MyVersion\MyComponent'
Name='RepositoryServer'
Root='HKLM'
Type='raw'
/>
</Property>
<InstallExecuteSequence>
<Custom Action='SetSQLServer' After='AppSearch'>NOT
SQLSERVER</Custom>
</InstallExecuteSequence>
</Product>
and again the SQLSERVER is empty when is displayed in the UI. Not sure where
to go from here. Thank you your help.
> -----Original Message-----
> From: James D. Pinkston [mailto:[email protected]]
> Sent: Monday, November 08, 2010 1:24 PM
> To: [email protected]
> Subject: Re: [WiX-users] Referencing other property as default value of a
> property?
>
> Hello,
>
> Does anyone know the solution to this? I have a similar problem with
> setting
> the property through a CustomAction. I understand Sunghwa was getting the
> "action" error because "Id" was not defined. I no longer get the error but
> the property is not being populated. This is what I have
>
> <CustomAction Id="SetSQLServer" Property="SQLSERVER"
> Value="[ComputerName]"/>
>
> <Property Id='SQLSERVER'>
> <RegistrySearch Id='RepositoryLocation'
>
> Key='SOFTWARE\MyCompany\MyProduct\MyVersion\MyComponent'
> Name='RepositoryServer'
> Root='HKLM'
> Type='raw'
> />
> </Property>
>
> <InstallExecuteSequence>
> <Custom Action='SetSQLServer' Before='InstallInitialize' />
> </InstallExecuteSequence>
>
> SQLSERVER is always empty. I would like SQLSERVER to default to the
> ComputerName if the reg key doesn't exist. It seems like the SetSQLServer
> action is not being called but I am not sure. Any ideas on how to fix this
> or debug it would be appreciated.
>
>
> /JD
>
>
> From: Sunghwa Jin
> Sent: Tuesday, June 26, 2007 3:01 PM
> To: '[email protected]'
> Subject: Referencing other property as default value of a property?
>
> Hi all,
>
> I am trying to set a property called SQLSERVER like below. What I am trying
> to
> do is that I take registry value as its value if exist. If it doesn't
> exist,
> I
> should take computername as default value. And user should be able to
> override
> this value by specifying it in msiexec.exe's command line.
>
> <Property Id='SQLSERVER' Value='[ComputerName]'>
> <RegistrySearch Id='RepositoryLocation'
>
> Key='SOFTWARE\MyCompany\MyProduct\MyVersion\MyComponent'
> Name='RepositoryServer'
> Root='HKLM'
> Type='raw'
> />
>
> When I build this, I get exception like below:
> Myserver.wxs(50) : warning CNDL1077 : The 'SQLSERVER' Property contains
> '[ComputerName]' in its value which is an illegal reference to another
> property. If this value is a string literal, not a property reference,
> please
> ignore this warning. To set a property with the value of another property,
> use
> a CustomAction with Property and Value attributes.
>
> I am trying to figure out I can do this by using CustomAction, but adding
> below
> generates another compilation error:
>
> <CustomAction Property='SQLSERVER' Value='[COMPUTERNAME]'/>
>
> candle.exe : error CNDL0001 : Cannot set column 'Action' with a null value
> because this is a required field.
>
> Can someone kindly teach me how I can solve this?
>
> Thanks,
> Sunghwa
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
>
> _______________________________________________
> WiX-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
>
> _______________________________________________
> WiX-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ----------------------------------------------------------------------------
> --
> The Next 800 Companies to Lead America's Growth: New Video Whitepaper
> David G. Thomson, author of the best-selling book "Blueprint to a
> Billion" shares his insights and actions to help propel your
> business during the next growth cycle. Listen Now!
> http://p.sf.net/sfu/SAP-dev2dev
> _______________________________________________
> WiX-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
> ------------------------------------------------------------------------------
> The Next 800 Companies to Lead America's Growth: New Video Whitepaper
> David G. Thomson, author of the best-selling book "Blueprint to a
> Billion" shares his insights and actions to help propel your
> business during the next growth cycle. Listen Now!
> http://p.sf.net/sfu/SAP-dev2dev
> _______________________________________________
> WiX-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a
Billion" shares his insights and actions to help propel your
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users