- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法禁用升级的组件页面?我想启用我的软件升级,但我不想让用户在升级时更改组件的选择。
而是安装程序从第一次安装升级所有现有组件。
我担心用户在升级过程中选择的组件较少,这些缺失的组件将保持安装为旧版本,并且您会变得一团糟。
我在脚本中添加了以下内容:
[Setup]
DisableDirPage=auto
DisableProgramGroupPage=auto
DirExistsWarning=auto
[Setup]
UsePreviousTasks=true
UsePreviousTasks
正在从注册表中读取现有部分,这很好。现在我需要找到一种隐藏选择窗口的方法。
最佳答案
要对用户隐藏页面,请使用 ShouldSkipPage
事件方法。如果您在此方法中返回 True,则该页面将不会显示给用户。如果为 False,页面将照常显示。以下是如何检查安装是否为升级的示例,如果是,请跳过“选择组件”向导页面:
[Setup]
AppId=B75E4823-1BC9-4AC6-A645-94027A16F5A5
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
; here is the place for your [Components] section and the rest of your script
[Code]
const
UninstallKey = 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppId")}_is1';
function IsUpgrade: Boolean;
var
Value: string;
begin
Result := (RegQueryStringValue(HKLM, UninstallKey, 'UninstallString', Value) or
RegQueryStringValue(HKCU, UninstallKey, 'UninstallString', Value)) and (Value <> '');
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := (PageID = wpSelectComponents) and IsUpgrade;
end;
[Setup]
AppId=B75E4823-1BC9-4AC6-A645-94027A16F5A5
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
; here is the place for your [Components] section and the rest of your script
[Code]
const
UninstallKey = 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppId")}_is1';
function IsUpgrade: Boolean;
var
Value: string;
begin
Result := (RegQueryStringValue(HKLM, UninstallKey, 'UninstallString', Value) or
RegQueryStringValue(HKCU, UninstallKey, 'UninstallString', Value)) and (Value <> '');
end;
procedure DisablePageControls(Page: TNewNotebookPage);
var
I: Integer;
begin
Page.Enabled := False;
for I := 0 to Page.ControlCount - 1 do
Page.Controls[I].Enabled := False;
end;
procedure InitializeWizard;
begin
if IsUpgrade then
DisablePageControls(WizardForm.SelectComponentsPage);
end;
关于installation - 创新设置 : Disable components page on upgrade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18529370/
我正在使用 helm upgrade xyz --install 命令,但由于其他 helm 问题,我的发布失败了。所以还没有成功发布。 然后有一次在执行上述命令时,我按下了 ctrl+c 命令。从那
有没有人看到这个错误Error: forwarding ports: error upgrading connection: Upgrade request required在 Kubernetes
我正在测试在 Heroku 上使用 WebSockets 的 Node.js 应用程序,但我一直遇到此错误: 客户端:与“ws://myapp.herokuapp.com/”的 WebSocket 连
我正在使用 AWS EC2 14.04 LTS,我正在尝试运行命令apt-get -y upgrade 或 apt-get -y dist-upgrade,但是,我总是得到这样的提示: 我尝试了以下命
我们正在尝试获取 this example在一堆虚拟服务器上进行 kubernetes 设置作为概念证明。但是,我们遇到了 kubectl port-forward 的问题。命令。 我们得到的错误是
我不得不升级到Unity 2022.3,它伴随着Gradle插件从4.0.1升级到7.1.2,Gradle从6x升级到7x。Android.enableR8必须从gradle.properties中删
当前运行 Airflow 1.10.15。想在升级到 2+ 之前执行一些测试。因此在安装成功的调度程序 Pod 中安装了 pip install apache-airflow-upgrade-chec
我在运行 Dockerfile 时得到了这个。 当我重置我的窗口时它工作但最近我删除了所有 docker 容器,当我再次尝试从 Dockerfile 构建时,我遇到了这个问题。我无法升级 pip 或执
mongod 我收到以下错误 ** 重要提示:升级问题:在尝试升级到 4.0 之前,数据文件需要完全升级到版本 3.6;见 http://dochub.mongodb.org/core/4.0-upg
在嵌入式系统上工作时有两种情况。 嵌入式系统资源有限,例如带有 12 K 闪存的 ARM Cortex M0 微 Controller 。 案例一: Bootloader 和 Firmware 的常用
您如何区分“补丁”和“升级”?你在哪里画线? 某个规范说,每当我发布产品升级时,我都需要做“X”。我需要在某处画线。我不想违反这个规范,但我以前从未真正明确定义过它。 最佳答案 关于软件版本控制(特别
我想安装最后一个 Gerrit releases在工作的 Gerrit 实例上。 足够download last war package吗?然后粘贴到 InstallFolder/bin/gerrit
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
通常我们所有的升级、功能或错误修复都是增量的。这似乎是显而易见的,因为即使是为了开发错误修复,我们也会使用我们产品的最新代码库。然而,这导致要求我们的客户必须将软件更新到最新版本,即使是为了获得错误修
现在 myne docker 版本是 0.9.0。由于一些错误,我想将其升级到最新版本 发生在当前版本中。所以请为此建议 apt 命令。 最佳答案 这应该适用于任何基于 Debian 的发行版(Ubu
基本上我需要改变这种行为: Installing a product with the same version and upgrade code (but different product cod
最近我将 ubuntu 14.04 更新到了 Ubuntu 15.04。通常鹦鹉螺。命令应该在 GUI 中打开目录。但是,现在我收到如下错误。 最近的情况是什么以及解决它的任何解决方案 vanjiku
我是包装新手。 This website指出升级过程中的步骤是: 因此,升级过程中的操作顺序是: 运行正在安装的 RPM 的 %pre 部分。 安装 RPM 提供的文件。 运行 RPM 的 %post
我们公司在其产品中使用 Firebird 数据库已有 4 - 5 年了。在此之前我们一直使用Interbases数据库。最近出现了新的需求,需要启用 unicode 字符集(目前我们使用字符集“NON
在我们的生产环境中,我们有一台 CMS 服务器和两台 CD 服务器。这两台CD服务器共享一个Web + Security DB,它们无法访问Core数据库。 我们希望开始从 6.2 rev 10050
我是一名优秀的程序员,十分优秀!