Why does CostFinalize change my custom property in one installation and not the...
source link: https://www.codesd.com/item/why-does-costfinalize-change-my-custom-property-in-one-installation-and-not-the-other.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Why does CostFinalize change my custom property in one installation and not the other?
I have two installs with virtually identical code. I set a custom property like this:
<SetProperty Id="MYCONFIGPATH" Value="[CONFIGPATH]" Before="CostInitialize"/>
And then reference that property in a component:
<Component Id="CopyConfigFromConfigPath" Guid="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" MultiInstance="yes">
<Condition>CONFIGPATH</Condition>
<CopyFile SourceProperty="MYCONFIGPATH" DestinationDirectory="ConfigBOR" DestinationName="ConfigBOR.xml" Id="CopyConfigBOR" />
</Component>
I'm not certain this is what's causing the failure to copy this file but I suspect it is:
MSI (s) (64:6C) [14:03:42:383]: PROPERTY CHANGE: Modifying MYCONFIGPATH property. Its current value is 'C:\Installs\ConfigBOR.xml'. Its new value: 'C:\Installs\ConfigBOR.xml\'.
Notice the trailing backslash. This happens shortly after starting CostFinalize
. Just above that log entry are some suspicious looking entries but I can't figure out what they mean so I'm not sure they're relevant:
MSI (s) (64:6C) [14:03:42:380]: Doing action: CostFinalize
MSI (s) (64:6C) [14:03:42:380]: Note: 1: 2205 2: 3: ActionText
MSI (s) (64:6C) [14:03:42:382]: Note: 1: 2205 2: 3: Patch
MSI (s) (64:6C) [14:03:42:383]: Note: 1: 2205 2: 3: Condition
I have identical code in another installer (BOR is replaced with the product name in that one) but it doesn't modify this property and does correctly copy this file. Why doesn't it work here?
I don't think your question provides enough information to answer this for certain, but my psychic powers tell me that MYCONFIGPATH
is in the Directory table in one package but not in the other. Thus the directory resolution phase of CostFinalize affects the two packages differently.
Recommend
-
81
To serialize or deserialize to/from POJO, Jackson uses a bean naming convention. To accomplish this, it uses annotations. This annotations cover: Property Naming Property Inclusion ...
-
30
The --var: ; hack to toggle multiple values with one custom property What if I told you you could use a single property value to turn multiple different values on and off across multiple different p...
-
9
This course is available as part of the raywenderlich.com Professional subscription. To learn more click here
-
13
How do I set a custom property of an Entity type in LINQ to Entities query and still return an IQueryable < T & gt; advertisements I ha...
-
3
custom properties Custom Property Brain Twisters Chris Coyier on Jun 25, 2021
-
5
How to enable custom source package installation in Binder written by Eric J. Ma on 2021-07-10 | tags:
-
2
Custom properties and @propertyCustom properties and @property You’re reading a failed article. I hoped to write about @property and how it is useful for extending CSS inheritance considerably in many different circum...
-
4
Repro property set before custom element upgradeRepro property set before custom element upgrade Hello world!
-
8
custom properties Multi-Value CSS Properties With Optional Custom Property Values Yair Even...
-
7
S/4HANA 2022 FPS1 Fully-Activated Appliance custom installation This blog covers installation of (1) SAP S/4HANA server and (2) SAP NW JAVA / ADS server a...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK