问题标签 [installshield-2012]
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 - 是否可以在 Installshield 2012 PRQ 中使用逻辑 OR 或否定条件?
我有一个安装MS SQL Shared Management Objects的 PRQ 。如果此注册表项不存在,我有一个安装 PRQ 的条件
这在用户使用不同的产品代码安装 SMO 之前工作正常 - 我们的开发团队在安装 SQL2008 时总是会发生这种情况。PRQ 启动的安装程序存在错误。
我需要一个更好的条件。我想做的是: If (Version <= wxyz || No Version found) Then install PRQ
在InstallShield Prerequisite 编辑器中,它说
必须满足以下条件才能运行先决条件。您可以在此处定义先决条件将查找以确定是否应运行的文件和注册表项。如果没有条件,则先决条件将始终运行。
这与我的发现一致 - 条件是 ANDed 在一起的。XML 中是否存在一些未发布的 OR 或否定条件?我现在很烦恼,因为如果注册表中的版本 < 我正在安装的版本,我希望运行 prq。
Type="32" 是 '注册表项具有指定的版本值' 比较="2" 是 '目标系统上的数据小于指定数据'
附带问题:是否有枚举类型和比较的地方?
此比较类型没有与“目标系统上的数据小于指定数据或不存在”状态进行比较。就像现在一样,如果密钥存在于较低版本中,则一切正常 - 但如果密钥不存在(即未安装 SMO),则不会安装 PRQ。
有没有办法使这项工作?“存在具有特定版本的文件”条件确实具有如果文件的版本低于上面指定的版本(或在目标系统上未找到文件)选项。但它无法检查 SMO 安装的文件 - 用户可能已将其安装到 C: 以外的某个驱动器上。
我希望我错过了什么。你会怎么办?
windows-installer - 将安装路径作为输入传递给 dll - 基本 MSI - InstallShield 2012
将从目标文件夹对话框中选择的安装路径作为输入传递给自定义对话框中的 DLL。
我正在使用 InstallShield 2012 设计一个基本的 MSI 安装程序项目。我设计了一个自定义对话框以在自定义对话框中获取用户登录信息等,并将详细信息传递给 DLL,然后相应地创建一个数据库。但是我需要知道如何将安装路径 [在目标文件夹对话框中选择] 作为输入传递给 dll,以便在正确的文件夹中创建我的数据库。我的 DLL 操作是在 Installfiles 之后执行的。
提前致谢 !!如果您无法理解上述内容,我很乐意解释..
windows-installer - 在自定义对话框中处理来自 dll 的错误消息而不中止安装 - 基本 MSI -Installshield 2012
我正在使用 Installshield 2012 构建一个基本的 msi 安装程序,这里我有一个自定义对话框,我在其中获取用户输入,然后将其传递给 dll 进行验证。dll 根据成功或失败返回 0 或 1,如果失败,它还会提供一个 msgbox。
问题是在消息框中单击确定后,安装被中止。无论如何在不中止安装的情况下抛出消息框[类似于 HTML 表单验证??]
installshield - 如果自定义操作失败则回滚安装 [在 InstallFinalise 之后] -Basic Msi -Installshield 2012
我正在使用installshield 2012 spring 专业版创建一个基本的 msi 安装程序,这里我有一个自定义对话框来从用户那里收集一些数据,基于这些数据我调用一个自定义 dll 操作来在安装文件夹中创建一个数据库。
我有一个计划的 dll 自定义操作在 InstallFinalise 之后运行,我想检查 dll 的返回值,如果该值指示失败,我需要中止并回滚安装过程。
我设法捕捉到错误并中止安装,但问题在于回滚.. 现在安装中止但文件已经创建。如何让安装回滚?有可能..有什么想法吗?
windows-installer - 卸载不会删除 INSTALLDIR - Basic MSI - InstallShield 2012 中的文件
我正在使用 InstallShield 2012 Spring Professional 创建一个基本 MSI 安装程序。
在这里,我在应用程序文件中创建了一个文件夹结构C:\Program files\Test Setup\Productname
,Test Setup
它是INSTALLDIR
,并且在其中我有一个子目录,其中一个 ( launch
) 包含.exe
文件。
我已经使用Add files and folders
Project Assistant 的应用程序文件菜单中的选项添加了这些文件和目录结构。
安装产品后,当我卸载它时,我发现虽然.exe
删除了一些.exe
文件,但启动子目录中的一些文件并没有删除。这些.exe
都没有启动。
InstallShield 应该删除它创建的所有文件和文件夹,除非它们已被修改或正在使用,但我在卸载过程中没有运行这些文件,也没有更改任何文件。我哪里错了?
visual-studio-2010 - Installshield LE Spring 2012 找不到安装先决条件
情况如下:
我有一个 InstallShield LE 安装项目(实际上是一对),去年运行良好。
最近我配置了一台新笔记本电脑,因此重新安装了 Visual Studio 2010 和 Installshield LE。显然,然后将 InstallShield LE 更新到了 2012 年春季版。
现在,当我尝试构建时,我收到有关缺少设置先决条件的错误:
现在,我检查了这些文件路径,发现这些文件不存在。嗯,他们并不完全在那里。他们似乎在 2012 年春季版中更改了这些设置先决条件的路径。
现在我已经完全反汇编了我的 .isl 文件。这些文件路径不在 .isl 文件中的任何位置;不是绝对的,也不是相对的。事实上,.isl 文件中几乎没有文件路径。
我在网上搜索过,也许我需要升级我的 .isl 文件才能得到 Spring2012 版本的支持,但这些搜索并没有取得丰硕的成果。
我正要重新创建设置项目,但是我很想知道到底出了什么问题。
在升级到 InstallShield LE 的 2012 年春季版时,还有其他人遇到过这个问题吗?
installshield - 为什么 InstallShield 不使用构建后事件后处理的程序集?
我有一个 .net 项目,它有一个构建后事件来将签名应用于最终程序集。但是 InstallShield 没有得到签名的程序集。有谁知道为什么会这样?
database - 如何更新 Access MDB 文件 - InstallShield?
我想在安装期间使用 InstallSheild 2012 安装程序向 Access MDB 文件中的一个表添加一个条目。有没有办法做到这一点?
installshield - MsBuild 错误 MSB3202:找不到项目文件“http://localhost/xxx”
我们最近开始使用 InstallShield。我们的解决方案中有几个网站,而不是 Web 应用程序项目,还有一堆 C# 项目。这些网站引用了其他 C# 项目。在 Visual Studio 中构建 isproj 时,一切都很好。但是在命令行中构建解决方案时,在同一台开发机器上,使用独立构建,isproj 会在两个网站上抛出以下错误:
C:\Program Files (x86)\MSBuild\InstallShield\2012Spring\InstallShield.targets (14,3):错误 MSB3202:找不到项目文件“http://localhost/xxx”。
有任何想法吗?谢谢。
localdb - 如何在 InstallShield 项目中包含 KB2544524
我有一个使用我通过 InstallShield Express Spring 2012 部署的 SQLLocalDb 的应用程序。
LocalDb 要求安装 KB2544514 的 .Net 更新。没有此更新,LocalDb 无法连接到 LocalDb 实例。
当我将此 exe 作为自定义操作添加到 InstallShield 时:
除非以管理员身份运行安装,否则在执行 NPD40-KB2544514-x86-x64.exe 时会遇到错误 1721。
如果包含 NPD40-KB2544514-x86-x64.exe 的安装程序以管理员身份运行,则安装成功。
有没有一种方法可以将 Microsoft KB 更新与安装进行菊花链式连接,而无需右键单击“以管理员身份运行”。我担心的是,99% 的用户通常会忽略“右键单击并以管理员身份运行”的说明,并会产生大量的支持电话。