通过IS12中system configuration--XML Files Change功能,实现改变web.config文件中的一个Element Name

为 identity[@impersonate="true" and @password="" and @userName="Adminstrator"

的value值。该value值可以根据安装时选择的输入的信息进行自动改变. 入图:

installshield 12 动态修改web.config文件

具体步骤

      1.       导入XML文件。在Installation Design视图中选择XML File Changes,右键XML File。选择Import,可以启动Import XML wizardNext之后,选择需要导入的XML文件(可以在下拉框中选择类型)。Next之后,Select ALL。如果选择部分,安装生成的文件也只有部分内容。Import 导入文件。这里以导入

      identity[@impersonate="true" and @password="" and @userName="Adminstrator" 为例.

     installshield 12 动态修改web.config文件

   2. 配置XML修改。在Web,config节点上,选择General视图,勾选XML Files属于哪个features ,然后点击Browse按钮选择文件安装后的目录.

installshield 12 动态修改web.config文件

3  找到identity[@impersonate="true" and @password="" and @userName="Adminstrator" 子节点,将原来Attribute :value为常量password 值替换为变量[LOGIN_PWD]和userName的值[LOGIN_USER],如下图

installshield 12 动态修改web.config文件

4  编写脚本:将控件的值赋给svUser和svPassword变量,在通过svUser和svPassword赋值[LOGIN_USER]和[LOGIN_PWD],这样就达到动态更新value的目的。具体脚本如下:

     CtrlGetText(szDialogName, RES_INPUT_USER, svUser); //将控件("RES_INPUT_USER"控件id)值付给svUser
     CtrlGetText(szDialogName, RES_INPUT_PWD, svPassword);
     nRet=128;                  
     MsiSetProperty(ISMSI_HANDLE,"LOGIN_USER",svUser); //将变量svUser付给LOGIN_USER属性
     MsiSetProperty(ISMSI_HANDLE,"LOGIN_PWD",svPassword);

   //TextSubSetValue ("LOGIN_PWD",svUser, TRUE );

     //注:MSI类型工程:可以用函数MsiSetProperty

相关文章: