根据用户在 InstallShield 2013 安装中的选择更改 .config 文件中的值



对不起 - 我是一名拥有installshield的新手。我已经继承了一个安装Shield 2013项目,该项目向用户提供了一个对话框,让用户选择一个SQL Server并基于他们的选择,将配置文件中的值设置为一个值。这是不起作用的,所以我打开了该项目的IS并在系统配置下的文本文件更改中查看,那里没有什么可以这样做的。那么,我如何弄清楚这种情况发生的地方(或在我的情况下没有发生),然后我该如何工作呢?我需要在名为server.config的文件中设置数据源和初始目录。

那么,如何确定用户选择的内容,然后将其保存在此文件中?看起来我可以设置文本文件更改,但是如何访问用户选择的值?我该如何找出应该这样做的"代码"?

谢谢ben

我会尝试从所讨论的对话框和控件中跟踪它,或者通过冗长日志遵循该值。由于您说今天它不起作用,因此我下面描述的流程可能会中断,并且由于您不知道安装项目的完整状态,因此可能很难识别。因此,从您所知道的。

自上而下:什么是配置的

首先,找到作为选择的用户填写的对话框。然后找出特定控件与之关联的属性。现在您有一个线程;拉动它。

在直接编辑器中搜索对属性的引用。如果该属性被命名为MyConfig,则搜索该属性:MyConfig。您可能会发现某种看起来像[myConfig]的用途,通常是一种格式字符串,用于使用myConfig的值。您可能还必须搜索与项目相关的所有文件,因为可以在安装罩项目之外存储自定义操作实现。

使用可以在保证,自定义或其他表格中。如果是在预告中,则可以用来设置另一个属性。同上,如果是在自定义设置设置属性(类型51)中的同上,在自定义操作和序列视图中可能更易于理解。在这种情况下,也搜索设置的属性。

如果您在诸如IssearchReplace*或ISXML*或INFILIE之类的表中找到它,它可能是文本文件更改,XML文件更改或INI文件更改的一部分,并且该视图应该使其更易于理解。p>也许该线程在某个地方的末端。设置属性,但从未引用。因此,尝试从另一端搜索。

自下而上:写什么

如果有文本文件更改,XML文件更改,INI文件更改或引用您需要更新的文件的自定义操作,请查看他们获取信息的位置。尝试跟随它。如果它们写得很好,您应该能够识别属性(请注意,一个称为CustomActionData的属性来自与其使用的自定义操作名称匹配的属性),然后使用与上面相同的想法进行跟踪,但是在另一个方向。

问题在哪里?

如果线程不连接,那可能是问题所在。自定义操作也可能缺乏权限,但没有报告故障,或者文件名或路径在此过程中被错误配置错误。如果事情看起来应该有效但行不通,请寻找类似的小东西。

事实证明,我误解了这个问题,并且从未设置该项目以更改该值,因此我要做的就是设置一个文本文件更改,并且可以完美地工作。感谢@michael Urman的全面回复 - 我真的很感激!

最新更新