I have a setup project with Installshield Premium 2016.
我有一个Installshield Premium 2016的安装项目。
I created a custom dialog that has a edit field. I created a property name which was named "CustomFields" and In my appconfig there is a key
我创建了一个具有编辑字段的自定义对话框。我创建了一个名为“CustomFields”的属性名称,在我的appconfig中有一个键
<add key="customFields" value="Test"></add>
So while installing the app, I want to it to change the value of customFields by user. My property value has a default name that is Test and in the installation dialog I can see this name
因此,在安装应用程序时,我希望它能够按用户更改customFields的值。我的属性值有一个默认名称Test,在安装对话框中我可以看到这个名字
When I change this text by manually for example "Hello", after installation completed, in my appconfig i see "Test" value. It seems that it saves the default value. But as can be seen, the text field has referenced by this property thats why I can see the default value in my text field in the dialog.
当我手动更改此文本时,例如“Hello”,安装完成后,在我的appconfig中,我看到“Test”值。它似乎保存了默认值。但是可以看出,文本字段已被此属性引用,这就是为什么我可以在对话框的文本字段中看到默认值。
I do not know where is the problem? I could not find also any documentation about custom edit fields.
我不知道问题出在哪里?我也找不到任何有关自定义编辑字段的文档。
I followed here a bit https://www.iwasdot.com/adding-a-custom-dialog-to-and-installshield-basic-msi-project/
我跟着这里了一下https://www.iwasdot.com/adding-a-custom-dialog-to-and-installshield-basic-msi-project/
but its a bit different and it did not work to me
但它有点不同,它对我不起作用
2 个解决方案
#1
2
Private properties are not passed from the UI sequence to the execute sequence. If you want this to work, at a minumum you will have to rename your property to use only upper-case letters and underscores. (For example, change CustomFields
to CUSTOM_FIELDS
.) You may also have to include its name in the SecureCustomProperties
property.
私有属性不会从UI序列传递到执行序列。如果您希望这一点工作,那么您必须将您的属性重命名为仅使用大写字母和下划线。 (例如,将CustomFields更改为CUSTOM_FIELDS。)您可能还必须在SecureCustomProperties属性中包含其名称。
#2
#1
2
Private properties are not passed from the UI sequence to the execute sequence. If you want this to work, at a minumum you will have to rename your property to use only upper-case letters and underscores. (For example, change CustomFields
to CUSTOM_FIELDS
.) You may also have to include its name in the SecureCustomProperties
property.
私有属性不会从UI序列传递到执行序列。如果您希望这一点工作,那么您必须将您的属性重命名为仅使用大写字母和下划线。 (例如,将CustomFields更改为CUSTOM_FIELDS。)您可能还必须在SecureCustomProperties属性中包含其名称。