首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义操作保护失败的自定义消息

自定义操作保护失败的自定义消息
EN

Stack Overflow用户
提问于 2015-01-23 09:36:52
回答 1查看 1.4K关注 0票数 2

我有一个自定义操作,在安装时运行,这是一个用C#编写的exe。此exe授予用户对特定文件夹的权限,如果此任务失败,则安装将不再继续。我需要它回滚,但只有在显示适当的错误消息。

现在,我尝试了以下几点

  1. 编辑exe以更新注册表中的条目,以表示其执行是否成功/失败。
  2. 添加了第二个自定义操作来读取注册表并显示错误消息。这是一个安装脚本。

我的需要

在从注册表读取失败项时回滚安装。

我写的剧本

代码语言:javascript
复制
function CheckRegistry(hMSI)    
STRING keyValue;
NUMBER nType, nSize;        

开始

代码语言:javascript
复制
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

结束;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-23 13:16:36

没有办法按你的要求去做。在返回非零退出代码之前,您可以从EXE中显示一条消息,但是Windows安装程序仍然会显示错误1722消息。

如果可以从DLL运行函数,则有更多选项。而不是返回错误,您可以设置属性(假设这是一个即时模式操作),并且可以使用这些属性来做进一步的事情,例如显示另一个对话框,或者在没有错误1722消息的情况下退出安装。

信贷:Old answer to similar problem

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28106865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档