- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Azure Devops 上的内置 VS2017 代理上安装 Inno Setup 5
用于我的构建管道之一,但我在标准输出中得到以下两行,但它以代码退出1 并且日志文件中没有任何内容。我的问题:
这是我认为最重要的来自标准输出的两行
innosetup not installed. An error occurred during installation:
The process cannot access the file '...\.chocolateyPending' because it is being used by another process.
这是我在 Azure Devops 上的构建管道:
我的安装程序脚本是用 javascript 编写的,并在安装依赖项后通过 npm 脚本执行
const utils = require('./utils');
const fs = require('fs');
const path = require('path');
const spawn = require('child_process').spawn;
const command = 'cmd /c choco install innosetup --yes --force --no-progress -ia \'/VERYSILENT\'';
const logDirectory = path.join( 'C:', 'ProgramData', 'chocolatey', 'logs' );
function install() {
return new Promise( resolve => {
const cmd = command.split(' ').filter( ( x, i ) => i === 0 ).join('');
const args = command.split(' ').filter( ( x, i ) => i !== 0 );
var sqlcmd = spawn( cmd, args );
sqlcmd.stdout.on( 'data', data => {
console.log( data.toString().replace( /\r\n$/gmi, '' ) );
} )
sqlcmd.stderr.on( 'data', data => {
console.error( 'error', data.toString() );
process.exit( 1 );
} )
sqlcmd.on( 'exit', code => {
resolve( code );
} )
});
}
( async () => {
utils.header( 'installing Inno Setup' );
const installExitCode = await install();
utils.header( 'Log directory:', logDirectory );
console.log( ' *', fs.readdirSync( logDirectory ).join( '\r\n * ' ) );
utils.header( 'chocolatey.log' );
fs.createReadStream( path.join( logDirectory, 'chocolatey.log' ) ).pipe( process.stdout );
utils.header( 'choco.summary.log' );
fs.createReadStream( path.join( logDirectory, 'choco.summary.log' ) ).pipe( process.stdout );
if ( installExitCode !== 0 ) {
console.log( 'installer exited with error code:', installExitCode );
process.exit( installExitCode );
}
})();
这是我从失败的 Azure Devops 构建中获得的标准输出:
2019-01-22T18:34:19.0336866Z ########################################
2019-01-22T18:34:19.0337014Z
2019-01-22T18:34:19.0337191Z installing Inno Setup
2019-01-22T18:34:19.0337335Z
2019-01-22T18:34:19.0337513Z Chocolatey v0.10.11
2019-01-22T18:34:19.0337798Z Installing the following packages:
2019-01-22T18:34:19.0338258Z innosetup
2019-01-22T18:34:19.0338554Z By installing you accept licenses for the packages.
2019-01-22T18:34:19.0338705Z
2019-01-22T18:34:19.0338856Z InnoSetup v5.6.1 (forced) [Approved]
2019-01-22T18:34:19.0339051Z innosetup package files install completed. Performing other installation steps.
2019-01-22T18:34:19.0339266Z innosetup not installed. An error occurred during installation:
2019-01-22T18:34:19.0339462Z Item has already been added. Key in dictionary: 'NPM_CONFIG_CACHE' Key being added: 'npm_config_cache'
2019-01-22T18:34:19.0339703Z The process cannot access the file 'C:\ProgramData\chocolatey\lib\InnoSetup\.chocolateyPending' because it is being used by another process.
2019-01-22T18:34:19.0339890Z
2019-01-22T18:34:19.0340054Z ########################################
2019-01-22T18:34:19.0340204Z
2019-01-22T18:34:19.0340364Z Log directory: C:\ProgramData\chocolatey\logs
2019-01-22T18:34:19.0340513Z
2019-01-22T18:34:19.0340775Z * choco.summary.log
2019-01-22T18:34:19.0342937Z * chocolatey.log
2019-01-22T18:34:19.0343090Z
2019-01-22T18:34:19.0343282Z ########################################
2019-01-22T18:34:19.0343425Z
2019-01-22T18:34:19.0343598Z chocolatey.log
2019-01-22T18:34:19.0343738Z
2019-01-22T18:34:19.0344018Z
2019-01-22T18:34:19.0344255Z ########################################
2019-01-22T18:34:19.0344406Z
2019-01-22T18:34:19.0344582Z choco.summary.log
2019-01-22T18:34:19.0344722Z
2019-01-22T18:34:19.0344902Z installer exited with error code: 1
最佳答案
回答您的一些直接问题...
Does Inno Support being installed in this way?
是的,innosetup 确实支持以这种方式安装。您可以在包页面上看到 here .页面顶部的绿色灯泡表示此软件包版本已通过 Chocolatey 拥有的自动化流程正确安装,从而验证软件包是否已正确安装。
Does chocolatey require being run on machine with a logged in GUI?
不,在大多数情况下这不是必需的。有些 Chocolatey 包不会静默安装,用于安装这些包的机制“可能”要求安装在实际用户进程中运行,但大多数包不需要这个。
What am I doing wrong?
我怀疑“某些东西”在通过 npm 运行并安装在 Promise 中时无法正常工作。查看日志,好像有这样一条:
2019-01-22T18:34:19.0339462Z Item has already been added. Key in dictionary: 'NPM_CONFIG_CACHE' Key being added: 'npm_config_cache'
在 Chocolatey 日志的中间,这对我来说没有意义。
我最好的建议是在此 extension 上使用独立的 Chocolatey Task (注意:完全公开,我是这个扩展的作者),或者,尝试在 npm 之外进行安装,可能直接使用 PowerShell 任务。
关于azure-devops - Chocolatey 无法在 Azure Pipeline 上安装 Inno Setup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54314785/
是否可以获得用于 Inno Setup 安装程序的 Inno Setup 版本号? 我找不到记录的开关来返回其版本号(例如 5.5.6),而且似乎没有暴露给 Inno Setup 脚本的预定义版本常量
我有一个小但令人沮丧的问题。我为可执行文件创建了可能有快捷方式的安装程序,但如果可执行文件不在主文件夹中,可以说 MyProgram\bin\myprogram.exe 安装程序会在主程序文件夹中复制
/VERYSILENT在使用集中式软件将应用程序部署到整个组织时,Inno Setup 提供的选项非常有用,但有一些好处对我来说并不完全清楚。 特别是,在删除需要取消注册并标记为共享对象的 dll/c
我对 Inno Setup 卸载程序有疑问。我有一个 exe 文件,我想执行它来跟踪安装和卸载。该 exe 非常简单,可以向服务器发送消息。 [Files] Source: "Tracker\Loca
我正在使用Inno Setup安装和更新我的python应用程序。 更新时,安装程序不会从以前的安装中删除py文件,这会导致两个问题: 我正在使用插件:如果删除新版本的插件,执行更新的用户仍然可以
我正在使用Inno Setup,并试图关联Windows 7中Program Files (x86)中的程序。我具有以下内容: #define MyAppName "MyView" #define M
我想删除页面底部的标签,我在其中选择了安装组件的目录。标签显示安装应用程序所需的最小磁盘空间。 最佳答案 您想要隐藏 DiskSpaceLabel 控件: [Code] procedure Initi
我们正在将我们的应用程序切换到 .Net4,但我们仍然有使用 Windows XP SP2 的客户。所以我需要在设置中进行额外的检查。 在安装开始时制作一条弹出消息以丢弃 XP SP2 用户非常简单:
这是用于 Inno Setup 的 [Setup] 部分中的 LicenseFile 属性的标准 RTF 文档: 是否可以向此页面添加打印按钮以触发打印许可协议(protocol)? 我看到了一个类似
我有一个 Inno Setup 脚本可以将我的应用程序变成一个 exe。 当我使用 Inno Setup 版本 6 编译代码时,输出文件大小为 110MB(如 Windows Explorer 大
Inno Setup - 我想创建一个类似于屏幕截图的安装程序。 安装程序应在左侧突出显示当前步骤。 如何实现? 最佳答案 @Bill_Stewart 是正确的,普通的 Inno Setup 不提供如
图像作为安装程序背景。如何使用 inno 5.5.9 做到这一点? 最佳答案 我认为这在 Inno Setup 中是不可能的。也许是一些 Inno Setup 克隆。 问题是Inno Setup中的所
这个问题在这里已经有了答案: Inno Setup - Signing fails with "Sign Tool failed with exit code 0x1" (2 个答案) 关闭 3 年
如何获取有关安装程序中包含的文件的信息(最后修改时间戳、文件大小)?通过使用文件的路径,很容易引用磁盘上的文件。但是当文件没有路径时,如何在安装程序中引用它呢? 当安装程序初始化时,我想检查磁盘上是否
Inno Setup 中的单词补全是如何工作的? 如果我在代码中的任何标识符或单词的中间或末尾按 Alt+Right,则没有任何反应。 我找不到任何要安装的扩展,也找不到该主题的 Internet 答
从这里开始:Inno Setup Placing image/control on custom page . 这是做我需要的: CustomPage := CreateCustomPage(wpLi
我的安装程序在组件页面中有一个可视错误。在您开始向下滚动页面之前看起来还不错,但开始看起来一团糟。 我认为问题出在代码中的某个地方,但仅在绝对干净的脚本上重新创建了组件部分,问题仍然存在。尝试更改缩放
如何在 Inno Setup 编译器中为我们的设置提供背景全屏图像。 喜欢下面这张图。 最佳答案 不要那样做。这违反了 Windows 设计指南。 无论如何,如果必须,请使用 WindowVisibl
如何自定义 Inno Setup 安装程序的欢迎页面? 我想创建一个类似于 Skype 安装程序的安装程序,只有 3 个页面: 带有一些选项的自定义欢迎页面 进度页 使用“运行程序”选项完成页面 但是
我已经为我想更新的程序创建了文件。 我希望在安装之前,检查程序是否也在标准目录中,如果不是,则正确的目录可以选择程序所在的位置。 我试过这个: [Files] Source: "C:\Data"; D
我是一名优秀的程序员,十分优秀!