我有一些应用程序正在尝试与SCCM 2012一起部署,但是安装失败了。因此,对于部署类型,我拥有的是脚本安装程序。在“安装程序”字段中有“ cmd.exe”(不带引号),在“安装开始位置”字段中有“ Installer.bat”。
当我查看ccmcache文件夹时,该应用程序上的所有内容都在那里,但是以下错误显示了软件中心:
0x8007010B(-217024629)
我已经完成一些在线阅读,“ 10B”是无效目录的常见命令行错误。在对路径进行硬编码时,我已经测试了批处理文件,但是我的问题是,如何编辑批处理文件或SCCM以从本地客户端上将文件下载到的CCMCache路径中提取?目前,批处理文件很简单:
@echo off
ApplicationName.exe
我是否需要编辑文件以将cd放入放置文件的CCMCache文件夹中?如何获取批处理文件来运行下载到CCMCache文件夹的可执行文件?
谢谢!
答案 0 :(得分:0)
您需要在脚本中具有安装的完整路径
@回声关闭
\\。exe的路径
编写命令的方式将无法找到.exe文件。您需要将.exe的完整unc路径添加到.cmd文件中。您应该将安装.exe和.cmd文件放在分发共享上的同一位置
答案 1 :(得分:0)
推荐的解决方案:
在开始之前,由于仅使用批处理文件启动exe,因此建议您仅将ApplicationName.exe用作SCCM中的命令行参数,而不要使用批处理。这样便无需进行任何进一步的设计。
修改现有解决方案以使其正常工作:
如果您仍然要使用批处理文件,请记住一些注意事项。您用于启动批处理文件的语法将不起作用。我建议仅使用批处理文件名“ installer.bat”作为命令行。如果仍要使用cmd.exe作为批处理的开头,则绝对需要使用/ c开关
cmd.exe /c installer.bat
如果您不使用/ c,则控制台主机将只打开一个Promopt,而不执行您的批处理。
这不是理想的解决方案,因为使用“ cmd.exe / c”会将您的工作目录设置为cmd.exe的位置(即“ C:\ windows \ system32”),并且由于您的内容在ccmcache中暂存,则需要指定其在批次中的位置。为此,您可以使用%〜dp0变量,该变量为您提供当前批处理运行所在的目录。这意味着修改您的批处理以读取
@echo off
%~dp0ApplicationName.exe