Virbox可再发行安装包命令行
Virbox 用户工具静默安装应用场景#
很多开发者不希望软件用户在使用加密后的软件时,去自行安装Virbox用户工具,或者不希望软件用户看见非软件开发者公司相关产品或者logo。所以深思在保护开发者软件的同时,提供了virbox用户工具界面完全隐藏的方案——Virbox 静默安装,以下为相关命令及代码。
正常安装与静默安装区别#
普通安装,安装弹出安装界面,安装过程出现异常时弹窗提示。
静默安装,无弹窗后台运行,安装过程出现错误结束安装返回错误码。
静默安装使用方法#
静默安装(CMD命令):输入安装包路径,附加 /S 参数。
示例:
C:\Users\ss23>C:\Users\ss23\Desktop\package\sense_shield_installer_pub_2.0.0.10870.exe /S
备注:目录中如果包含空格,路径必须使用"路径"的形式,否则执行失败。
隐藏用户工具托盘图标#
示例:
D:\Users\Desktop>D:\Users\Desktop\sense_shield_installer_pub_2.0.0.13133.exe /S /senseshield_hide_taskbar_icon
注意: 隐藏用户工具托盘图标安装方式只有电脑之前没有安装过旧版本的SS, 再次安装 再次安装时使用同样的参数。 否则如果覆盖旧版本安装、 以非隐藏托盘图标方式安装或 者手动运行用户许可管理工具三种情况, 之后会显示托盘图标, 不再隐藏。
显示安装进度#
示例:
D:\Users\Desktop>D:\Users\Desktop\sense_shield_installer_pub_2.1.0.15800.exe /S /auto_install
隐藏桌面快捷方式图标#
示例:
D:\Users\Desktop>D:\Users\Desktop\sense_shield_installer_pub_2.1.0.15800.exe /S /not_create_desktop_shortcuts
隐藏开始菜单快捷方式图标#
D:\Users\Desktop>D:\Users\Desktop\sense_shield_installer_pub_2.1.0.15800.exe /S /not_create_startmenu_shortcuts
创建服务定时重启计划任务#
不通过ss_restart_schtask_time参数指定重启时间, 则使用默认重启时间 06:00:00 ,设置SS定时重启计划任务执行时间, 必须在设置 /add_ss_restart_schtask 参数的基础 上, 此参数才能生效, 单独使用此参数无效。 时间必须使用 hh:mm:ss 的格式。
多次执行创建计划, 后一次会覆盖之前的计划任务。
查看计划任务方法: 控制面板 -> 管理工具 -> 任务计划程序, 左侧树状列表选择 "任务查看计划任务方法: 控制面板 -> 管理工具 -> 任务计划程序, 左侧树状列表选择 "任务 计划程序(本地) " -> "任务计划程序库", 右侧显示计划任务名称、 状态、 触发器、 下次运行时间等任务信息。
创建默认时间执行的服务重启计划任务#
示例:
D:\Users\Desktop>C:\Users\Desktop\package\pub\2.1.0.19388\sense_shield_installer_pub_2.1.0.19388.exe /add_ss_restart_schtask
安装完成后, 计划任务增加一项名称为“SenseshiledServiceRestart”的计划任务, 查看
任务详情, 服务将在每天06:00:00执行重启批处理。
创建指定时间执行的服务重启计划任务#
示例:
D:\Users\Desktop>C:\Users\Desktop\package\pub\2.1.0.19388\sense_shield_installer_pub_2.1.0.19388.exe /add_ss_restart_schtask --ss_restart_schtask_time=03:00:00
安装完成后, 计划任务增加一项名称为“SenseshiledServiceRestart”的计划任务, 查看
任务详情, 服务将在每天03:00:00执行重启批处理。
静默卸载#
目前不支持静默卸载。
错误码#
安装包执行完毕返回错误码,错误信息如下表所示:
返回值 | 含义 |
---|---|
0 | 安装成功 |
3 | 已安装版本高于当前版本 |
4 | 无法终止运行中进程,重启电脑后重新安装 |
5 | 安装文件丢失。关键安装文件被删除,导致安装失败。 |
6 | x64系统驱动文件重命名失败,SS驱动安装失败。 |
7 | 安装SS服务失败。 |
8 | 创建ssclient 配置目录失败。 |
注意:建议使用同步方式执行静默安装指令,等待执行完毕判断返回值成功后继续执行后续操作;如果使用异步调用方式,请在安装结束时判断返回值确认安装是否成功。
静默安装示例代码#
C/C++#
示例代码使用system()执行静默安装,等待返回值。
#include <stdio.h> #include <Windows.h> int main() { int ret = 0; char *silent_install_cmd = "\"C:\\Program Files (x86)\\senseshield\\ss_dev\\Redistribute\\sense_shield_installer_pub.exe\" /S"; ret = system(silent_install_cmd); switch (ret) { case 0: printf("安装成功\n"); // 静默安装成功,在此处编写后续处理代码 break; case 3: printf("已安装版本高于当前版本\n"); break; case 4: printf("无法终止运行中进程,重启电脑后重新安装\n"); break; case 5: printf("安装文件丢失\n"); break; case 6: printf("x64系统驱动文件重命名失败\n"); break; default: printf("未知错误\n"); break; } getchar(); }
.NET Framework#
using System.Diagnostics; namespace SSPubPackageSilentInstallDemo { class Program { static void Main(string[] args) { string package_path = @"C:\Program Files (x86)\senseshield\ss_dev\Redistribute\sense_shield_installer_pub.exe"; string silent_params = "/S"; Process process = Process.Start(package_path, silent_params); process.WaitForExit(); switch (process.ExitCode) { case 0: Console.WriteLine("安装成功\n"); // 静默安装成功,在此处编写后续处理代码 break; case 3: Console.WriteLine("已安装版本高于当前版本\n"); break; case 4: Console.WriteLine("无法终止运行中进程,重启电脑后重新安装\n"); break; case 5: Console.WriteLine("安装文件丢失\n"); break; case 6: Console.WriteLine("x64系统驱动文件重命名失败\n"); break; default: Console.WriteLine("未知错误\n"); break; } Console.ReadKey(); } } }
常见问题#
1.Windows Server 2012安装过程中提示文件覆盖写入失败#
解决方案:重启计算机后重新执行安装程序。
2.执行静默安装后右下角托盘图标扔存在#
解决方案:出现此问题的原因是因为之前有非静默安装过 virbox 用户工具,删掉 C:\ProgramData\senseshield\ss\config.ini文件,再执行静默安装即可。