Hello Kumar,
It perfectly makes sense to me, and adding the value/comment actually enabled me to declare that property as "Hide Property". Thank you so much for the detail reason and step forward. Very helpful.
You are always welcome. I am glad I could help.
In what regards your second question, indeed, you are right, the
"AI_SqlRollback" can not be found in the
"Install Parameters" page. However, let me try to go a bit deeper with this so you can better understand how to achieve this.
The property that does the trick here is called
MsiHiddenProperties. The
MsiHiddenProperties property is used to prevent the installer from displaying passwords or other confidential information in the log file. To prevent a property from being written into the log file, you can set the value of the
MsiHiddenProperties property to the name of the property you wish to hide. You can hide multiple properties by specifying a string of property names delimited by semicolons (;).
This is what is happening behind when you are ticking the
"Hide property" flag in the
"Install Parameters" page. The property for which you tick the option is added to the "MsiHiddenProperties" property. For example, you wanted to hide the "SqlConnectionString" property, so you ticked the "Hide Property" option. By doing this, the "MsiHiddenProperties" was added to your project, as a row in the database as it follows:
Property: MsiHiddenProperties
Value: SqlConnectionString
With that being said, the trick to hide properties is pretty obvious now. All you have to do is to add the property name to the "MsiHiddentProperties" property. This can be easily done by proceeding as it follows:
Important: First of all, please go to
"Install Parameters" page and uncheck the
"Hide Property" option from your
"SqlConnectionString" property.
Now please go to
"Table Editor" -->
"Property" table. There, right click on the white space -->
"New Row":
1- In the
"Value" field of the
"Property" column, please input:
MsiHiddenProperties
2- In the
"Value" field of the
"Value" column, please input the name of the properties that you want to hide, separated by a semicolon (;). This can look something like this, on our case:
AI_SqlRollback;SqlConnectionString
Please be aware to not leave any spaces between the semicolon and the name of the property.
Now let me try to explain the "Important" point from above. As you can see here, we have manually added the
"MsiHiddenProperties" property in our Table Editor. By default, when you tick the
"Hide Property" option from
"Install Parameters" page, the
"MsiHiddenProperties" is added to the database at
build time (when you build the project). As you may have guessed by now, this would cause conflicts if we were to add only the
"AI_SqlRollback" property to the
"MsiHiddenProperties" property and leave the other one with the
"Hide Property" option. The conflict would consist of the fact that the
"MsiHiddenProperties" would be overwritten and only one value would be hidden, not both of them, as expected.
Hope this helps.
All the best,
Catalin