我有一个带有 MSSQL 特权的项目。到目前为止,sql 是使用硬编码的实例名称安装的。现在我想在安装过程中创建用户自定义此名称的功能。
这就是我所做的:
我使用编辑控件创建了新的对话框窗口,以从用户那里获取 sql 实例的名称。当用户单击“下一步”按钮时,我将开始安装过程(从互联网下载 sql 安装并开始静默安装)。因为我想向用户提供一些反馈,所以我可能应该更新一些文本控件,例如“正在安装 SQL”。我试图找到如何从我的操作中更新 UI 的方法,但没有成功。
这是我的解决方案:
我已经使用空的 Text 属性放置了 Text 控件。在订阅选项卡(在此文本控件上)中,我选择了事件 ActionData 和属性文本。在我的操作中,我尝试发送这样的文本:
hRecActionData = MsiCreateRecord(1);
if( hRecActionData = NULL )then
MessageBox( "Failed to create record.", SEVERE);
endif;
nRes = MsiRecordSetString( hRecActionData, 1,"Instaling SQL..." );
if( nRes != ERROR_SUCCESS )then
MessageBox( "SetString failed", SEVERE );
endif;
nRes = MsiProcessMessage( hMSI, INSTALLMESSAGE_ACTIONDATA, hRecActionData );
if( nRes != ERROR_SUCCESS )then
MessageBox( "ProcessMessage failed", SEVERE );
endif;
代码运行没有任何错误,但文本没有更新。
我的方法好还是应该在我的场景中使用其他方法?为什么我的代码不起作用?