【发布时间】:2015-01-23 09:36:52
【问题描述】:
我有一个在安装时运行的自定义操作,它是一个用 C# 编写的 exe。此 exe 授予用户对特定文件夹的权限,如果此任务失败,则安装将无法继续。我需要它回滚,但只有在显示适当的错误消息之后。
现在我尝试的是以下
- 编辑了 exe 以更新注册表中的条目以指示其执行是否成功/失败。
- 添加了第二个自定义操作来读取注册表并显示错误消息。这是一个安装脚本。
我的需要
在从注册表读取失败条目时回滚安装。
我写的脚本
function CheckRegistry(hMSI)
STRING keyValue;
NUMBER nType, nSize;
开始
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
if (RegDBGetKeyValueEx ("CSVExtraction", "AccessGranted", nType, keyValue,nSize) < 0) then
MessageBox ("RegDBGetKeyValueEx failed.", SEVERE);
abort;
else
if(keyValue != "true") then
MessageBox("Granting access to the Installation Folder failed; Hence exiting installation",SEVERE);
abort;
endif
endif
结束;
【问题讨论】:
-
@helb 已编辑问题
标签: c# installshield installscript