问题标签 [installshield]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
installation - 为什么 MSI 需要原始 .msi 文件才能继续卸载?
大多数人可能已经注意到,在卸载 MSI 包时,Windows 会要求提供原始.msi
文件。这是为什么?
我只能看到它的缺点:
- 对网络变化没有弹性。
- 对本地磁盘更改没有弹性。
- 出乎用户意料。
- 通常要求用户离开他们的办公桌并开始讨伐以获得正确的 CD。
- 某种证明装置不是独立的。
- 提倡使用不安全的工具,例如 msizap。
- 这反过来又促进了“下次我将只使用 zip 文件”的心态。
有人可以对此有所了解吗?
sql-server-2005 - 使用 InstallShield 安装 SqlServer 2005 Express 并创建唯一的命名实例
我正在使用 Installshield 2008 express 创建安装包。我的应用程序依赖于 Sql Server 2005 express edition。我知道我可以检查可再发行选项卡下的“microsoft sql server 2005 express”先决条件。但是,这将安装完全留在最终用户手中,如果他/她一直选择默认设置,我们最终会使用命名实例 SqlExpress 进行安装。至少,我希望安装以 MyCompany 命名实例作为默认值。
我该如何做到这一点?
我必须升级到更强大的 installshield 版本吗?
deployment - 以编程方式提高用户权限
我一直在维护一个安装,但我不是真正的专家。现在我被要求为此提出一个解决方案:
我们的软件始终与计算机一起出售,因为它必须在非常受控的环境中运行。安装程序需要管理权限才能执行。到目前为止,我们有两个不同的用户,一个具有管理权限,另一个没有。我们的客户服务以管理员身份登录,安装软件并重新启动机器,以便用户可以作为普通用户访问。
现在我们希望用户能够自己安装软件,但我们不希望他们以管理员身份访问,因为他们可以修改不应修改的内容。
那么,有没有办法在安装过程中以编程方式提高用户权限,然后再降低它们呢?安装程序是使用 InstallShield 制作的,但我们使用 vbscript 来检查一些先决条件。
installation - 阻止功能升级
我有一个自动创建 InstallShield 安装程序(InstallScript,而不是 MSI)的工具,而我目前的主要问题是,在升级安装时,我需要一种方法来防止功能被升级。在安装过程中,我想检查安装在目标系统上的 exe 文件的版本,并且据此,我希望能够从正在升级的文件集中排除特定功能。
我试图通过调用FeatureSelectItem(feature, FALSE)
功能的OnInstalling
事件处理程序来实现这一点,但这会导致整个功能被卸载,这不是我想要的。我只想从升级中排除该功能。
有没有办法做到这一点?
unicode - InstallShield2009 Unicode 支持
我们的安装程序是使用 InstallShield2009 编写的,作为认证要求的一部分,我们必须始终支持 Unicode。
该应用程序本身是 .NET,因此本机支持 Unicode,但是在使用中文字符集测试我们的安装时,我们可以看到 InstallShield 对话框引发的问题。
快速谷歌后,我发现了一篇相关的帖子,有人认为 IS2008 中没有 unicode 支持。
我也直接向 Acresso 发送了电子邮件,但作为一个有爱心的开发人员,我想我会在这里发布问题以供将来参考,以防其他人有同样的问题。
如果有人过去遇到过这个问题,我们将不胜感激。谢谢。
vbscript - 当我的 InstallShield 设置尝试运行我的 VBS 自定义操作时,为什么会收到 1720 错误?
自定义操作配置如下:
自定义操作名称:MyCustomAction
VBScript 文件名:
<PathVar01
>\MyFolder\MyVBSfile.vbs脚本函数:我的函数
返回处理:同步(检查退出代码)
脚本内执行:立即执行
它通过以下 InstallScript 代码执行:
当安装程序到达 InstallScript 中的该行时,安装程序会显示错误警报,说明:
“错误 1720。此 Windows Installer 程序包存在问题。无法运行完成此安装所需的脚本。请联系您的支持人员或程序包供应商。”
MsiDoAction 返回的结果代码是'1603',根据 winerror.h,它是:
为什么会这样?我开始怀疑该文件是否正确包含。然而,我指向的是正确的文件,并且我尝试通过 InstallShield 支持文件包含 VBS,认为这将确保文件与设置一起存在,但结果相同。
installation - 在 InstallShield 中以编程方式设置 INSTALLDIR
我正在尝试在 InstallShield v8.02 中以编程方式设置更改 INSTALLDIR(无法对版本执行任何操作)。
我的代码在此代码 (C#) 的第三行出现异常“未知错误”崩溃
有什么建议么?
windows-installer - 链接 msi/Bootstrapper/先决条件?
我有一些组件 MSI 包需要一起安装以形成最终应用程序。
问题是:可以更新组成包的组件,并且可以在 http 文件服务器上重新启动该组件。我应该采取什么方法?
我正在编写的安装程序是“主”安装程序。它需要能够读取其客户端计算机上安装的每个组件的版本,以便仅在该一个组件上执行升级。
此外,如果第一次安装应用程序,安装程序将下载并安装所有必需的组件。
我正在使用 Installshield 2009。
我已经查看了链接的 MSI,但主安装程序是空的。因为它需要尽可能轻巧。
我不知道如何编写引导程序应用程序,我的公司更喜欢我使用 installshield 来编写安装程序。
我已经研究过 - 显然先决条件并不意味着要卸载。
我相信我可以通过更改版本号来进行小更新,从而允许下载仅下载它需要的组件而不下载整个安装程序 - 目前我正在实施您建议的方式(sascha),我的公司将正在使用通过 InstallShield 提供的 FLEXnet 连接服务。我提到的“组件”(我们的开发人员喜欢使用的一个术语)在概念上类似于 InstallShield 的组件概念。但是,我已经修改了要由功能封装的“组件”,这样在构建版本时,我可以选择将每个“功能”包装在 cab 文件中。
这听起来很令人困惑——即使对我来说也是如此。
我已经诉诸功能<组件(包括服务)
我的公司拒绝让我使用除 Installshield 之外的任何其他安装程序。我的猜测是,为了在遥远的将来更新先决条件要求,需要编写一个新的安装程序,并将应用程序作为主要升级重新发布。这对我来说很有意义。
Perermtate,我认为没有办法卸载预先安装的先决条件,这是有道理的,因为可能需要先决条件作为其他应用程序的平台,毕竟“先决条件”是应用程序的第 3 方组件.
感谢您的所有回复!
.net - 检测 IIS 是否启用
有没有办法检测IIS是否启用?
我知道如何检查它是否已安装,但我需要知道它是否已安装但未启用。
此外,这可以通过 InstallShield 本地完成吗?通过 .NET 进行检查是可以接受的,因为我们可以编写自定义操作,但如果有 IS 调用,那将是理想的。
感谢任何提示/提示,谢谢
installation - 使用 Installshield 和用户对话框卸载 MSI 时的特权提升
我需要实现以下目标: MSI 的卸载应该显示一个用户对话框,基于该对话框 Windows Installer 知道如何准确删除软件(在这种情况下:用户必须选择是否也删除数据库)。
运行时,卸载过程也会触发自定义操作。所有这些操作都需要管理权限。
所以我需要让“程序和功能”在“删除”上显示完整的 UI,或者在点击“更改”然后删除时显示管理权限的身份验证对话框。
我该怎么做呢?