如何根据需要安装和/或重新安装 msiexec

2023-12-20

我在网络驱动器上放置了一个内部 MSI,我想编写一个登录脚本,以便我们网络上的任何人都可以将 MSI 安装到他们的计算机上,或者在 MSI 更新时自动重新安装它(这经常发生)。

如果我使用msiexec.exe /i REINSTALL=ALL如果该计算机上尚未安装 MSI,它将不会执行任何操作。如果我省略REINSTALL=ALL,那么它将进行全新安装,但不会进行更新/重新安装。

如果尚未安装软件包,我应该选择哪些参数来使其执行全新安装,如果已经安装软件包,则应选择完全重新安装?

Running msiexec /i首先重新安装可能会起作用,但如果可能的话我想避免这种情况。

编辑:原因/famus需要的是这些是开发人员机器,有人可能会手动更新注册表或注册一组不同的 dll。该脚本的目的是,即使 MSI 没有发生任何更改,开发人员也可以运行该脚本轻松恢复到“官方”环境。


尝试一下怎么样:
msiexec /i <path to msi> ADDLOCAL=<top level feature name>

您可以通过打开 Orca.exe 中的包并查看功能表来获取顶级功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据需要安装和/或重新安装 msiexec 的相关文章

  • 如何仅在安装(而不是卸载)中执行自定义操作

    我确信这相当容易 但我有点困难 我有一个自定义操作 可以在安装时执行不同的 非 msi 安装程序 不幸的是 我注意到它还在卸载时执行安装程序 我已经查看了这些选项 但我似乎无法找到如何阻止这种情况 如果有人能帮助我 我将非常感激 另外 如何
  • MsiOpenProduct 是从已安装产品读取属性的正确方法吗?

    给定 MSI 产品代码 我想从已安装的产品中获取升级代码 以及其他属性 我通过调用 MsiOpenProduct 方法 然后调用 MsiGetProductProperty 来尝试此操作 一个 缩写 示例如下所示 MSIHANDLE han
  • 禁用先决条件按钮 - MSI 安装程序

    我创建了一个 msi 安装程序 我想进一步添加先决条件 例如 Net 但是当我转到 安装项目属性 时 先决条件 按钮被禁用 我该如何启用它 其他详情 我正在使用 VS 2015 SQL Server 2008 R2 Net 4 5 2 C
  • 安装签名的 msi 安装程序时出现奇怪的“程序名称”[重复]

    这个问题在这里已经有答案了 登录 MSI 安装程序后 我遇到以下问题 我正在使用signtool exe并且msi文件签名正常 但是当我测试它时 显示我公司名称的UAC确认对话框显示55847 msi的 程序名称 而不是我的安装文件的名称
  • Inno Setup - 允许用户选择“只有我”或“任何使用这台计算机的人”

    我遇到的一些安装程序让我选择 只为我 或 为 使用这台计算机的任何人 安装应用程序 如何让我的 Inno Setup 脚本向用户提供此选择 以便我可以根据他们的回答方式更改安装程序的操作 有很多方法可以解释 只有我 与 所有用户 问题的答案
  • Windows 安装程序中的主要与次要升级

    是否有任何理由不设置安装 以便始终完成主要升级并更改产品代码 我发现支持不同类型的安装需要更多代码 并且 修复 安装似乎通过重大升级更容易工作 而且需要安装的应用程序不是很大 因此不需要 服务包 或补丁安装程序 不会 如果您的应用程序很小并
  • 在 Windows 7 中安装/卸载服务:“错误 1001。指定的服务已标记为删除”

    我目前正在 NET 4 0 Visual Studio 2010 Windows 7 32 位中开发 Windows 服务 我有一个安装程序项目可以为我进行安装 当我安装该服务 卸载它并尝试再次安装时 出现以下错误 错误1001 指定的服务
  • 为 Windows 服务创建 MSI 安装程序

    我在 Visual Studio 2008 中有一个 Windows 服务项目 我还添加了安装和部署项目 不幸的是 当我安装它时 该服务没有显示在服务 MMC 管理单元中 我已经将 ProjectInstaller 添加到服务项目中 并且已
  • 不使用 powershell 远程安装 .msi?

    我们有一个多服务器系统我们需要在客户端安装 我想编写一个脚本 可以 关闭远程机器上的服务 卸载多台远程计算机上的软件 在多个远程计算机上安装 msi 文件 我曾挣扎过psexec and wmic做第 2 点和第 3 点 似乎必须有一种更简
  • Wix如何隐藏功能选项

    我正在使用 Wix 3 5 构建 MSI 安装程序 我想知道是否有任何方法可以隐藏 功能自定义安装对话框 中的某些选项 您可以在其中从功能树中选择要安装的内容 我只想有 将安装在本地硬盘上 和 整个功能将不可用 的选项 目前 除了这两个选项
  • 如何从命令行列出已安装的 MSI? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我们最近将 Windows 软件包从 RPM cygwin 切换到 MSI wix 拥有原生包装是一个非常受欢迎的变化 我们打算坚持下去 然而 MSI
  • 如何编写自定义操作 DLL 以在 MSI 中使用?

    这是我打算自己回答的问题 但请随意添加其他方法来完成此任务 我正在打包一个应用程序以用于各种配置 并且我确定在 MSI 中执行自定义逻辑的最可靠方法是编写我自己的自定义操作 DLL 该 DLL 能够从 PROPERTY 表中读取 写入 终止
  • ICE61:该产品应仅删除其自身的旧版本

    我正在关注第二个答案here https stackoverflow com questions 500703 how to get wix to update a previously installed version of a pro
  • WIX MSI 软件包卸载

    我正在使用 WIX 作为安装程序包 当我通过双击原始 msi 包卸载该包时 一切都很好 当我从控制面板卸载时 它会给我一个最小的用户界面卸载 我已在 MSI 中写入一个自定义操作 询问用户是否要卸载某些数据库等 最小 UI 卸载时不会发生这
  • wix 3 安装程序:未解析的绑定时变量!(bind.fileVersion.Name.exe)

    我正在尝试使用 Wix3 中的绑定 bind fileVersion 即 3 11 1 由于某些原因 我收到以下错误消息 未解析的绑定时变量 bind fileVersion TestWix3 exe 我的目标是填写 产品 ID 行 特别是
  • 对 .NET Windows 安装程序应用程序执行注册表搜索

    我有一个 NET winform 安装程序应用程序 在安装之前 我会进行注册表搜索以检查计算机上是否安装了 MS Access Runtime 搜索目标机器 搜索目标机器的属性 启动条件 启动条件的属性 但是我想避免对路径进行硬编码 例如
  • 压缩未压缩的 MSI 文件

    我们有一个安装项目 它生成一个未压缩的 MSI 文件 并且根本没有 Setup exe 稍后由 NSIS 压缩 在特殊的构建设置中 我想在 NSIS 打包之前复制该 MSI 更改副本并保留它 我还想在 msbuild 创建它之后对其进行压缩
  • 如何禁用恢复 Visual Studio 安装程序项目丢失的文件?

    我创建了一个使用来自暴雪 API 服务的图像的程序 我为该程序创建了一个安装程序 并将图像放置在 用户的应用程序数据文件夹 中 安装非常好 图像被解压到文件夹 AppData Roaming MyApp 中 如果需要删除图像 程序将从暴雪服
  • 创建 MSI 的最佳工具[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是设置项目创建的新手 现在我正在使用 Visual Studio 2008 为我的项目创建安装文件 msi 我对在安装向导中创建自己的自
  • 使用 Powershell 远程安装 .msi

    我已经让他使用这个论坛上存在的代码来跟踪代码 cls computername Get Content C Users C201578 db Documents server txt sourcefile iceopsnas LNT Sof

随机推荐

  • 如何停止 goroutine [重复]

    这个问题在这里已经有答案了 我有一个调用函数的 goroutine 并且有一个特殊参数 我想启动或停止这个 goroutine 我的问题是这段代码永远不会停止我的 goroutine 它每次都会创建一个新作业 quit make chan
  • TextView Marquee 不起作用[重复]

    这个问题在这里已经有答案了 我尝试过使用选框但不起作用 这是我的代码 请让我知道哪里出了问题
  • 单击标记时,Google 地图 v3 打开最后一个信息窗口

    我有一个共享的infoWindow对于我所有的标记 如果我使用 jquery 的话效果很好 each function 但是如果我将其更改为 JavaScrips 的本机 for 或 while 循环 则它不会按预期工作 每当我单击一个标记
  • 为什么它返回一个随机值而不是我给函数的值?

    在C程序中 有一个交换函数 该函数采用一个名为x的参数 我希望它通过更改主函数内交换函数中的x值来返回它 当我将参数视为变量时 我想要它 但是当我直接为参数设置整数值时 程序会产生随机输出 include
  • 与 Nodejs Express 共享 Laravel 4 会话

    我正在尝试从 NodeJS 上标头的 Cookie 中获取 Laravel 会话 ID 到目前为止我已经尝试过 function nodeDecrypt data key iv var decipher crypto createDecip
  • 使用 CQL 3.0 在集合上创建自定义索引

    我一直在关注CQL 3 0数据建模文档 http www datastax com documentation cql 3 0 webhelp cql ddl ddl anatomy table c html concept ds qqw
  • 禁用数据库访问

    我创建了一个 MySQL 服务器 现在用户login可以访问所有数据库 我希望该用户无法访问 因此无法执行任何操作 3 个数据库 information schema mysql phpmyadmin 所以用户可以使用除这 3 个之外的所有
  • GCC 接受 `constexpr struct {} s;`,但 Clang 拒绝它。谁是正确的?

    以下代码可以使用 GCC 正常编译 constexpr struct s 但 Clang 拒绝了它 并出现以下错误 错误 默认初始化 const 类型 const struct anonymous struct at 对象 而没有用户提供的
  • Docker Compose 中的无效类型错误

    我在 Docker Compose 中遇到错误 撰写文件是 version 2 services api build context dockerfile webapi dockerfile ports 210 web build cont
  • 无法在 app.module 中导入 MatDialogModule

    我是角度初学者 我正在使用角度材质对话框 首先 我向我的项目添加了材料并使用它 angular material 当我添加 import MatDialogModule from angular material dialog in app
  • Django 的 classonly 方法有什么用? [复制]

    这个问题在这里已经有答案了 源代码如下 class classonlymethod classmethod def get self instance owner if instance is not None raise Attribut
  • 如何使用Java Swing实现可拖动选项卡?

    如何使用 Java Swing 实现可拖动选项卡 我想将选项卡拖放到不同位置以重新排列选项卡 而不是静态 JTabbedPane EDIT Java 教程 拖放和数据传输 http java sun com docs books tutor
  • AngularJS,ng-repeat 和 ng-include 不渲染

    你好 我开始学习 Angular 当我结合使用 ng repeat 和 ng include 时遇到了问题 无论我做什么 我都无法渲染模板 我有一个简单的控制器 用于创建工作区列表 每个工作区都有一个 TemplateUrl 属性 我知道该
  • Chrome 中比 translateZ(0) 更好的解决方案来解决子像素边框图像缩放问题

    我遇到了边界图像切片线显示在使用 Transform scale 放大的元素上的问题 如下所示 这似乎只发生在 Chrome 中 通过阅读其他帖子 这似乎是 Chrome 子像素渲染问题 我尝试过 backface visibility h
  • ColdFusion CFC CORS 和 AJAX 帖子

    我正在尝试将表单发布到远程服务器 目前的总体思路是 HTML 将在本地运行并通过 AJAX 发布到远程服务器 因此有一个表单 JS 和它要发布到的 CFC 下面是JS document ready function submit click
  • 如何在 Swagger 规范中接收动态响应

    我想通过我的 API 从我的数据库请求一个表 但是 我不知道该表将有多少列 也不知道它将包含什么 我如何在 Swagger 中指定这一点 这就是我想做的 paths reports id get summary Detailed resul
  • 来自 DataFrame 的 Dask 数组

    有没有一种方法可以轻松地将数值数据帧转换为数组 如同values使用 pandas DataFrame 我似乎找不到任何方法来使用提供的 API 来执行此操作 但我认为这是一个常见的操作 编辑 是的 现在这是微不足道的 您可以使用 valu
  • Morris.js 未捕获类型错误:无法读取未定义的属性“匹配”

    我对此失去了理智 无法弄清楚这个问题 我使用以下代码使用 morris js 渲染图表 但不断收到 未捕获的类型错误 无法读取未定义的属性 匹配 错误 javascript和php代码如下 我将php json输出到控制台并将其粘贴到此 g
  • Rails 3:JSON 字符串中出现转义字符 (\)

    任何人都知道为什么我的一些 json 元素是反斜杠 逃脱了 而其他人却没有 first John last Smith dogs name Rex breed Lab name Spot breed Dalmation name Fido
  • 如何根据需要安装和/或重新安装 msiexec

    我在网络驱动器上放置了一个内部 MSI 我想编写一个登录脚本 以便我们网络上的任何人都可以将 MSI 安装到他们的计算机上 或者在 MSI 更新时自动重新安装它 这经常发生 如果我使用msiexec exe i REINSTALL ALL如