- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试安装一个带有远程框架的驱动程序,它允许我在远程计算机上运行作为远程处理/监控应用程序的子级生成的 shell 命令,作为 cmd/c“命令”运行。但是由于安全功能认为驱动程序可能不安全,驱动程序拒绝安装。
驱动程序也有引号(路径中的空格)所以它类似于
Dim command: command = "\\\\server\\driver\\folder\\Autorun.exe" /passive /norestart";
Set retVal = remote.Shell(command)
运行
cmd /c " "\\server\driver\folder\Autorun.exe" /passive /norestart"
在远程机器上
我已经尝试并在之前的语句中使用 setx SEE_MASK_NOZONECHECKS 1/m 时遇到了问题,我猜测子进程没有看到新的全局环境变量,这些变量在它的父进程启动时不存在,并且不会'不重启就无法工作。我想避免重启。
我试过运行
cmd /c " set SEE_MASK_NOZONECHECKS=1 & "\\server\driver\folder\Autorun.exe" /passive /norestart"
但是好像不行。有什么想法吗?
最佳答案
您对使用 SEE_MASK_NOZONECHECKS 的方式有点迷茫。它不是环境变量,不能在命令提示符下修改,它是 ShellExecuteEx() 的一个选项.确实用于启动程序的 winapi 函数。不太清楚您可以访问哪些编程工具,在批处理文件或 VBScript 中使用它是行不通的。您至少需要 VB.NET 并调用函数。您可以从 pinvoke.net 网站获取所需的声明。
让我们谈谈实际情况,您可能会找到更简单的解决方案。当您从 Internet 网站下载文件时,Windows 会向该文件添加一个额外的流,指示该文件的来源。这基本上说明“这个文件不是来自安全的地方”并且使驱动程序安装程序犹豫不决。如果您考虑一下,这是一个相当重要的功能,您的用户将安装可以执行很多的软件,如果您可以安装驱动程序,您几乎可以自由支配机器。
如果您在资源管理器中右键单击该文件并单击“属性”,您将在窗口底部看到:
所需要做的就是单击取消阻止按钮。因此,这是您的用户解决问题的简单方法。您可以在安装说明中记录额外的步骤。还有一个好处是,现在是用户负责允许安装可能不安全的代码。
解锁文件的其他方法是使用 PowerShell 的 Unblock-File command和 SysInterals 的 streams utility , -d 选项。
而且您可能应该考虑编写自己的安装程序的选项。这将使驱动程序打包在安装文件中,这样它就不会被 Windows 修改。而用户在启动安装程序时会收到警告。它可以被签名,这样用户就可以对文件的来源有一定的信心,并且它不会在到达他的机器的途中被弄乱。有许多实用程序可以帮助您编写安装程序,例如 InstallAware、InstallShield、NSIS 等。
关于windows - 如何在不重启的情况下使用 SEE_MASK_NOZONECHECKS 运行 msi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17716110/
我的安装程序用 WiX 语言编码。它支持主要的升级机制。一个特殊的要求是 相同的 MSI 文件将无法安装两次。 现在是棘手的部分:如果用户安装然后再次尝试安装它(UI 模式),安装程序进入维护模式,一
我能否可靠地从 MySQL 等常规 MSI 包创建合并模块,以将其与我自己的安装合并?WiX 有相应的工具,但我应该从这种翻译中期待什么陷阱?从我自己的包安装其他 MSI 包的替代方法是什么? 最佳答
免责声明:我仍然没有超越最基本的WiX教程,因为每次我试图理解这些概念时,我的头开始旋转。 我一直在阅读Is it feasible/sensible to wrap an InnoSetup ins
是否有可能在不使用 PowerShell 安装的情况下从 MSI 文件中检索 MSI 产品代码?我想将 MSI 文件的产品代码与安装在机器上的 MSI 代码进行比较,以确定该文件是否曾经安装过。 最佳
我的 Wix 项目创建 install.msi 和 cab1.cab。我如何才能将所有内容捆绑到 msi 中?我可能会使用 7-zip SFX 来解决这个问题,但我见过其他应用程序只有一个 msi。
大多数人可能已经注意到,在卸载 MSI 软件包时,Windows 会要求提供原始的 .msi。文件。这是为什么? 我只能看到缺点: 对网络变化没有弹性。 对本地磁盘更改没有弹性。 用户的意料之外。 通
我正在寻找一个 C API,它可以获取 msi 路径并返回产品版本(主要版本和次要版本),而无需安装 API。 谢谢,埃坦 最佳答案 我不会使用开放包 - 这是一个静态数据库,因此 MsiOpenDa
我正在使用 VS 2008 为 c# windows 项目创建一个安装程序。我正在尝试编写一个自定义操作,从存储在文件服务器上的 MSI 文件的源目录(例如\server\fileshare\myap
我正在使用 WiX 编写 MSI 安装程序以启动依赖于 MSI 安装的 DLL 的服务。在 Vista 上,DLL 被添加到 MSI 的 InstallFinalize 中的全局程序集缓存中阶段,所以
我的 MSI 安装程序不会在 XP 上注册 DLL。在 Vista 上,除非我是管理员,否则它不会注册。在 Win7 上,它会随机注册 DLL 或不注册。 在 MSI 不会注册 DLL 后,用户被迫转
这是我第一次尝试使用 Windows Installer 来构建安装程序包(我们的客户不希望使用 Wix,我已经广泛使用它)。目前我有一个按预期构建和工作的 MSI。但是,我需要为我编写的程序所需的
我们已从 InstallShield LE 2010 转移到 WiX。 我们的新 WiX 安装程序能够卸载以前的 WiX msi 软件包,但它不会检测到从 IS msi 安装的以前版本的软件。 我们应
我正在使用 WiX制作 MSI安装程序调用另一个 MSI 安装程序。 我可以在 UILevel=5 (Full UI) 模式下解决这种情况。我的解决方案是将 CustomAction 添加到调用另一个
我在安装程序的 Windows 缓存方面遇到了问题。我正在尝试进行升级,每次 Windows 安装程序启动旧版本的安装程序时。当我进行升级时,它提示读取旧版本的 msi 文件时出现问题(因为它不再位于
MSI 的表 - “FeatureComponents”有两列:“Feature_”和“Component_”。我想要做的是一次更改“Feature_”列中的所有值。 IntPtr hDb = Int
作为持续集成测试的一部分,我们正在使用 msi 安装几个网站。 对于每个构建,我们要卸载旧的 msi 并安装一个新的。 问题是在构建服务器完成最新版本并重建系统后,我们没有旧的 msi。 有没有一种方
我有一个场景,要安装两个 MSI 包和一个 MSI 包。 例如,我们有两个产品要安装,即。 Sample1.MSI 和 Sample2.MSI。我们需要将 Sample2.MSI 包嵌入到 Sampl
我在 c# 中从 msi.dll 调用 get_PrimaryKeys() 函数时遇到问题。我想找出给定 MSI 表中的主键是什么。我使用以下代码: Type installerType = Type
更新:我更改了这个问题的标题以反射(reflect)下面一些答案真正需要的内容。 我希望能够在 Linux 中从 Visual Studio 2010 的 native 部署工具中生成的 MSI 获取
在 Windows 安装程序包 (.) 的 DefaultDir 列中,表示目录应位于其父目录中,没有子目录。 并且冒号 (:) 用于分隔目标和源目录名称。 DefaultDir 列中的单个值(不带冒
我是一名优秀的程序员,十分优秀!