You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于使用Chocolatey、setup.exe及shimgen创建静默安装程序的技术问询

让我一步步帮你理清这两个问题:

1. 能否仅通过程序的setup.exe和shimgen,借助Chocolatey创建静默安装程序?

理论上可以实现,但有几个关键前提和必要步骤,不是直接丢两个文件就行:

  • 首先,你的setup.exe必须支持静默安装参数(比如/silent、/quiet、/verysilent这类,不同程序的参数可能不一样,需要查官方文档或运行setup.exe /?查看可用参数)。Chocolatey本身不处理安装逻辑,只是帮你调用安装程序的静默模式。
  • 其次,你需要一个chocolateyinstall.ps1脚本放在tools文件夹里——这是Chocolatey的核心安装脚本,用来告诉Chocolatey怎么调用你的setup.exe进行静默安装。shimgen是Chocolatey自动用来生成快捷方式(shim)的工具,不需要你手动操作它,只要程序安装完成,Chocolatey会自动为程序主exe生成对应的shim。

简单总结:你需要setup.exe + 写好安装逻辑的chocolateyinstall.ps1,Chocolatey会自动完成调用静默安装、生成shim的流程。

2. 仅将setup.exe放入tools文件夹并生成shim的操作是否正确?程序会安装到哪里?

你的操作其实没完成完整的安装流程,只生成shim是没有意义的:Chocolatey只是检测到tools文件夹里有exe文件,自动生成了指向这个setup.exe的shim,但你的程序根本没被安装——运行这个shim只会再次启动安装程序,而不是打开ARM RVDS。

正确的操作步骤应该是这样:

  1. 在tools文件夹里,除了setup.exe,还要创建chocolateyinstall.ps1脚本,示例内容(根据ARM RVDS 4.1的实际静默参数调整):
    # 获取setup.exe的路径
    $installerPath = Join-Path $PSScriptRoot 'setup.exe'
    # 定义静默安装参数,替换成RVDS 4.1实际支持的参数
    $installArgs = @(
        '/silent'
        '/installpath="C:\Program Files\ARM\RVDS 4.1"'  # 可选,指定安装路径,不写则用程序默认路径
    )
    # 启动静默安装并等待完成
    Start-Process -FilePath $installerPath -ArgumentList $installArgs -Wait -NoNewWindow
    
  2. 执行choco pack生成nupkg包。
  3. 测试安装:运行choco install YourPackageName -s .(本地源安装),这时候Chocolatey会执行chocolateyinstall.ps1里的逻辑,调用setup.exe完成静默安装。

关于安装路径:

  • 如果不指定路径参数,程序会安装到它自身的默认路径(通常是C:\Program Files或C:\Program Files (x86)下的ARM RVDS专属文件夹)。
  • 你可以通过setup.exe的专属参数手动指定安装路径,就像上面脚本里写的那样。

内容的提问来源于stack exchange,提问作者DeZLearnsPCs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:57:44