我需要设置程序安装程序的交付。
该程序有一个program_installer.exe 和一个文件夹,我在创建安装程序时无法将其包含在安装程序中。
因此,当用户需要安装该程序时,我通过邮件向他发送一个批处理文件
@echo off
if DEFINED PROGRAMFILES(X86) (
SET TOOL_INSTALL_DIR="%PROGRAMFILES(X86)%\myfolder"
) else (
SET TOOL_INSTALL_DIR="%PROGRAMFILES%\myfolder"
)
MKDIR %TOOL_INSTALL_DIR%
copy /y \\rk0012352\Public\lkh5iwwh.m4s %TOOL_INSTALL_DIR%
START %PROGRAMFILES%\program_installer.exe
问题是,当用户执行 BATCH 并运行 COPY 命令时,在 Windows 7 上该命令将失败,因为他没有 ADMIN 权限。
如何使该复制命令在 XP 和 7 上以管理员身份运行?
您可能会说:当用户收到包含 INSTALL.BAT 的 EMAIl 时,他不能单击“以管理员身份运行”吗?
不幸的是,答案是他们中的大多数人不会这样做,只是抱怨这不起作用。而且很多邮件客户端如Outlook都会提示“打开”“保存”选择面板,大部分用户会直接点击打开(产生无权限错误)
“运行方式”命令需要指定机器的管理员名称,我无法知道如何在每台计算机上调用管理员用户。
有什么建议吗?
这有点棘手,但可以做到。
首先,您必须(从批处理文件中)知道用户是否是管理员。如果是,那么您可以继续安装。如果不是,您可以运行另一个 cmd.exe 实例以管理员身份运行批处理文件(使用runas
命令)。
要检测用户是否是管理员,请查看此帖子:http://www.tomshardware.co.uk/forum/169421-36-define-batch-file-user-administrator http://www.tomshardware.co.uk/forum/169421-36-determine-batch-file-user-administrator(也有提升批次本身的完整代码)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)