制作静默安装程序以将文件从文件复制到 C:\Program Files\... 并在开始菜单中制作快捷方式

Posted

技术标签:

【中文标题】制作静默安装程序以将文件从文件复制到 C:\\Program Files\\... 并在开始菜单中制作快捷方式【英文标题】:Making a silent installer to copy files from file to C:\Program Files\... and making shourtcut in start menu制作静默安装程序以将文件从文件复制到 C:\Program Files\... 并在开始菜单中制作快捷方式 【发布时间】:2021-01-31 13:36:20 【问题描述】:

我不确定这是否适合提出这个问题。 但我想制作一个脚本来复制驱动器上已安装软件的结构。 问题是,我想要一个文件夹,其中包含在您的电脑上安装软件时包含的所有文件,在该文件夹中,然后我想将该文件夹中的所有文件复制到 C:\Program Files... 和添加开始菜单的快捷方式。

这是蝙蝠代码:

xcopy "%~dp0Struktura" "c:\" /s /i /y
cscript.exe ".\CreateLTspiceXVIIShortcut.vbs"

这是vbs代码:

Set WshShell = WScript.CreateObject("WScript.Shell")
Set lnk = WshShell.CreateShortcut("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\LTspiceXVII.lnk")
lnk.TargetPath = "C:\Program Files\LTC\LTspiceXVII\start_pc.exe"
lnk.Arguments = ""
lnk.Description = "LTspiceXVII"
lnk.WorkingDirectory = "%ProgramFiles%\Program Files\LTC\LTspiceXVII"
lnk.IconLocation = "%ProgramFiles%\LTC\LTspiceXVII\\start_pc.exe, 0"
lnk.WindowStyle = "1"
lnk.Save

它将所有文件复制到正确的位置,但它显示在 cmd 所有进程中,我想让它静音,所以它不会在屏幕上显示任何内容。 之后,它不会在开始菜单中创建快捷方式,应该做好。 我该怎么办?

Picture of all files I have

在文件中“Struktura”的意思是“结构”。

This is the content of the structure file

我希望有人能理解我的意思。

提前感谢您的帮助! :)

【问题讨论】:

【参考方案1】:

我不是Windows用户,但是我直接看到的:

根据https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/xcopy 参数/q 使xcopy 静默。 以这种方式复制已安装的软件可能会出现问题。例如。不会复制或更新注册表项。

【讨论】:

感谢您的回答,但遗憾的是,如果我将 /s 更改为 /q,它确实会使其静音,但不会复制文件,如果我把两者都放了,它根本不想执行...¯_(ツ)_/¯ 这并不能解决问题。因为这里xcopy命令需要在没有窗口的情况下运行,而/q开关仍然会打开一个窗口。【参考方案2】:

您可以在 VBScript 中制作所有内容,例如:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "xcopy ""%~dp0Struktura"" ""c:\"" /s /i /y",0,True
Set lnk = WshShell.CreateShortcut("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\LTspiceXVII.lnk")
With lnk
  .TargetPath = "C:\Program Files\LTC\LTspiceXVII\start_pc.exe"
  .Arguments = ""
  .Description = "LTspiceXVII"
  .WorkingDirectory = "%ProgramFiles%\Program Files\LTC\LTspiceXVII"
  .IconLocation = "%ProgramFiles%\LTC\LTspiceXVII\start_pc.exe, 0"
  .WindowStyle = "1"
  .Save
End With

那么就不需要批处理文件了。您可以将其保存为 .vbs 文件并执行它。它可以在没有任何窗口的情况下工作。

【讨论】:

感谢您的回答,使用此脚本我收到此类错误:imgur.com/a/RRdV4w9 我不确定这是否只是权限问题。因为它没有要求我提供运行脚本的任何权限,而且我没有看到以管理员身份运行的选项

以上是关于制作静默安装程序以将文件从文件复制到 C:\Program Files\... 并在开始菜单中制作快捷方式的主要内容,如果未能解决你的问题,请参考以下文章

发布构建脚本以将所有文件从不同的目录复制到输出目录

从驱动程序导入证书到 TrustedPublisher 以进行静默驱动程序安装

如何启用 iOS 文件应用程序以将文件复制到我的应用程序中?

如何配置 Jenkins 作业以将文件从 git 复制到服务器

如何将参数从exe文件传递到msi?

如何在InstallShield项目中以静默方式安装msi文件