我正在使用Inno Setup编写安装程序脚本,该脚本将通过其命令行设置安装Cygwin。但是,当在已经在其环境路径中具有bash的机器上执行Cygwin的命令行安装时,我在Cygwin的安装日志中获得此输出:
Adding required dependency bash: Selecting already-installed version .
我正在Parallels附带的免费Windows Enterprise操作系统上测试此安装。这附带Windows Linux子系统(WSL)已经激活,并安装了Ubuntu发行版。
对于Cygwin安装,我已经下载了本地应用程序所需的所有软件包和Cygwin设置,并且所有软件包都安装成功,但是安装后有一些错误,因为我认为它正在尝试创建在bash中的配置文件等,但它找不到它 - 可能是因为它跳过在本地包目录中安装bash二进制文件,因为它已经找到了一个:
running: c:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/000-
cygwin-post-install.sh"
abnormal exit: exit code=-6
running: c:\cygwin64\bin\bash.exe --norc --noprofile
"/etc/postinstall/coreutils.sh"
abnormal exit: exit code=-6
running: c:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/base-files-mketc.sh"
abnormal exit: exit code=-6
running: c:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/base-
files-profile.sh"
abnormal exit: exit code=-6
running: c:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/ca-certificates.sh"
abnormal exit: exit code=-6
running: c:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/man-db.sh"
abnormal exit: exit code=-6
running: c:\cygwin64\bin\bash.exe --norc --noprofile
"/etc/postinstall/mintty.sh"
abnormal exit: exit code=-6
running: c:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/zp_man-db.sh"
abnormal exit: exit code=-6
Ending cygwin install
可以肯定的是,我正在运行Windows 10(版本1709,版本16299.214),默认情况下在此处找到bash.exe C:\Windows\System32\bash.exe
有没有办法强制Cygwin安装程序避免跳过bash安装?我查看了Cygwin的设置帮助中的开关/标志,但没有看到任何可以做到这一点。我怎么能确定Cygwin在其/bin
目录中安装bash.exe,即使机器已经安装并激活了WSL?