- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个打包为 MSI 的产品。当我的客户在现有版本的基础上安装我的产品的新版本时,由于自定义 VBS 操作,它无法正常工作,如下所述。我的问题是:如何更改我的 MSI,以便在顶部安装将始终预先完全卸载任何现有版本?
细节是:
我有一个产品,在不同的公司部署了各种版本。大约每年一次,我的每个客户都会收到我产品的新版本并部署到他们公司的工作站上。负责部署的人员希望他们可以在旧版本的基础上安装新版本,而不必在他们的安装包中包含卸载步骤。
msi 安装会创建一些文件并将其写入 [CommonApplicationData]\MyApp 文件夹。在执行期间,应用程序会在 [CommonApplicationData]\MyApp 文件夹中创建更多文件。在卸载过程中,我需要删除所有这些文件。由于它们不是由 msi 安装的,因此它们不会自动卸载,因此我创建了一个 vbs 脚本来删除该文件夹以及其中的任何其他内容。我在 ExecuteDeferred 中放置了一个命令来执行该 vbs:
...
RemoveFiles
RemoveFolders
CreateFolders
MoveFiles
InstallFiles
PatchFiles
If REMOVE="ALL" Then
REM line below is my custom script
call VBScript From Installation (MyApp_UninstallCleanup)
End
DuplicateFiles
BindImage
CreateShortcuts
...
最佳答案
附表 RemoveExistingProducts
行动前InstallInitialize
行动:
In this case, the installer removes the old applications entirely before installing the new applications. This is an inefficient placement for the action because all reused files have to be recopied.
关于windows-installer - 作为 msi 安装的一部分,如何卸载以前的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328611/
我是 firebase 的新手,我正在尝试分页查询。我喜欢有一个“下一个”和“上一个”按钮。我的下一个按钮工作正常,我的问题是单击上一个 引用:https://firebase.google.com/
抱歉,标题这么蹩脚,但我只是不知道该放什么,希望你能理解。另外,我不知道以前是否有人问过类似的问题,因为我不知道合适的关键字 - 因此也无法用谷歌搜索。 基本上...在查看preg_match_all
我想在 TFS 中 check out 一个检入文件的先前版本。我可以轻松获得特定文件的变更集 ID 列表,但无法弄清楚如何 checkout 以前的版本。 我目前的代码: var workspace
我想使用 @FunctionalInterface来 self 代码中的 Java 8,但我希望能够将生成的类文件与 Java 6 一起使用。我认为我应该将源版本设为 1.8 , 目标版本为 1.6
自从 versions 被删除以来,我一直无法找到安装以前版本软件的方法。命令并点击 Homebrew。我在 2008 Mac Pro (3,1) 上运行 macOS 10.14.3 (Mojave)
当我开始当前的项目时,App Store 中已经有一个应用程序。此应用程序仅适用于 iPhone。 我的第一个任务是测试和构建一个也可以在 iPod Touch 上运行的版本。 大约 3 周前,App
我在 GitHub 上有一个曾经是 fork 的 repo,但现在不是了,因为我已经删除了原始项目的任何痕迹并开始了一个同名的新项目。 但是,GitHub 仍然表示该项目是 fork 的。有什么方法可
我是一名优秀的程序员,十分优秀!