问题标签 [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.

0 投票
1 回答
676 浏览

installshield - 调用 Oracle SQL 脚本时,InstallShield 2012 挂起

我有一个 InstallShield 2012 InstallScript MSI 项目,我需要运行 Oracle SQL 脚本。

我的测试脚本如下所示:

运行时安装挂起并显示对话框:“自定义操作。正在执行 SQL 安装脚本...”

日志文件中的最后一项:

MSI (s) (70:30) [16:05:31:054]:执行操作:CustomActionSchedule(Action=ISSQLServerInstall,ActionType=1025,Source=BinaryData,Target=ISSQLServerInstall,CustomActionData=C:\Users\P\AppData \Local\Temp\~E303.tmp) MSI (s) (70:D4) [16:05:31:367]:调用远程自定义操作。DLL:C:\Windows\Installer\MSIEF3A.tmp,入口点:ISSQLServerInstall 1:处理 SQL 连接“SQLServer”... 1:跳过 SQL 连接“SQLServer”。此连接在 IS_SQLSERVER_CXNS_ABSENT_FROM_INSTALL 属性中指定。1:处理SQL连接'Oracle'... 1:判断连接下是否有至少一个SQL脚本被调度执行...... 1:SQL脚本'SqlScript5.sql1'被调度执行。请注意,如果您为此脚本指定了架构版本,将在稍后做出最终决定。Script Execution=RunOnInstall, Action=Install, Component State=Install, Schema= 1: 试图建立 SQL 连接...服务器: P.PO.COM, 数据库: MSOW 1: [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr失败 1:尝试执行 SQL 脚本... 1:确定是否执行 SQL 脚本“SqlScript5.sql1”... 1:将执行 SQL 脚本,因为在目标数据库上找不到架构版本。1:准备执行SQL脚本文件:'SqlScript5.sql1'。路径:'C:\Users\P\AppData\Local\Temp\~E314.tmp' 1:在第 3 行执行 SQL >>> 正在尝试执行 SQL 脚本... 1:确定是否将执行 SQL 脚本“SqlScript5.sql1”... 1:将执行 SQL 脚本,因为在目标数据库上找不到架构版本。1:准备执行SQL脚本文件:'SqlScript5.sql1'。路径:'C:\Users\P\AppData\Local\Temp\~E314.tmp' 1:在第 3 行执行 SQL >>> 正在尝试执行 SQL 脚本... 1:确定是否将执行 SQL 脚本“SqlScript5.sql1”... 1:将执行 SQL 脚本,因为在目标数据库上找不到架构版本。1:准备执行SQL脚本文件:'SqlScript5.sql1'。路径:'C:\Users\P\AppData\Local\Temp\~E314.tmp' 1:在第 3 行执行 SQL >>>

0 投票
1 回答
9789 浏览

windows-installer - 在 InstallShield 中通过用户交互执行自定义操作(基本 MSI 项目)

我正在使用 InstallShield 2012 Professional 创建一个基本的 MSI 项目。我的问题涉及如何执行由用户与对话框交互引起的自定义操作。

我一直在做研究,但我只是没有得到正确的设置组合来使它工作。我已经执行了自定义操作,但在它甚至获得用户交互之前。

安装完成后,显示标准的“SetupCompleteSuccess”对话框,我添加了一个复选框,以便用户在单击完成按钮时除了启动程序之外还可以选择查看一些 html 发行说明。程序启动完美,并在项目助手向导中设置。

对话框中的复选框设置

在对话框中,我设置复选框以将属性 LAUNCHRELEASENOTES 设置为 1。在对话框行为中,如果条件 LAUNCHRELEASENOTES=1 为真,我在 Finish(又名 OK)按钮中设置 DoAction 以执行自定义操作“OpenReleaseNotes”。

按钮行为。

在我创建的“OpenReleaseNotes”自定义操作中,我可能弄乱了配方,我正在使它启动一个可执行文件(在这种情况下 cmd.exe 只是为了调用 DOS 命令)来打开 html 发行说明。我完全不清楚自定义操作中需要设置哪些设置组合才能在安装结束时通过用户交互执行。

自定义操作

应该如何为自定义操作设置这些?

  • 退货处理
  • 脚本内执行
  • 执行调度
  • 安装 UI 序列
  • 安装执行序列
  • 安装执行条件(如果适用)
0 投票
1 回答
1343 浏览

iis - Setup.exe 正在回滚(为安装 Shield12 中的 Asp.net 应用程序构建)

我在 Install Shield 12 for Web Project of .Net Framework 中构建 Setup.exe 文件。当我要运行这个 setup.exe 文件时,我在执行虚拟目录时遇到回滚错误,并且设置尚未完成。由于虚拟目录,我该如何解决此回滚错误?此问题与安装屏蔽的哪个应用程序有关?

0 投票
3 回答
735 浏览

app-config - 我可以在 InstallShield 2012 的 XML 文件更改区域中获取项目输出 app.config 文件吗?

我需要将调试/测试 App.config 文件中的几个路径更改为最终用户计算机上的最终主页。通过 Visual Studio 编辑安装程序项目时,我看到了 XML File Changes 选项,并且帮助表明我应该导入要更改的 xml 文件。

但...

有没有办法为 XML 文件导入项目的输出?如果我直接浏览到文件本身,我必须使用 Debug 或 Release 配置文件,这似乎很烦人。否则我可以使用基本的 App.config 但如果在构建时应用了任何转换,它们就会丢失。

那么我是坚持只浏览一个文件,还是可以像获取 .exe 文件一样获取“项目输出”?

0 投票
0 回答
703 浏览

installshield - 在安装过程中似乎无法从安装程序加载托管 dll?

我正在为包含 Windows 服务的应用程序开发安装程序。该服务需要用户提供用户名/密码才能从我们的服务器获取信息,所以我想在安装期间进行设置。我们还需要将该信息存储在服务配置文件中,因此必须对其进行加密。

因此,我希望安装程序在加密凭据时调用服务使用的相同 .dll。我设置了通过自定义操作向导创建的自定义操作。我将其设置为“在托管程序集中调用公共方法”并选择“与产品一起安装”作为位置。我可以选择 dll 和目标函数并通过向导设置所有内容。它在安装程序日志中解析的路径看起来正确...

但我得到了错误:

无法加载托管自定义操作程序集

所以不知道该怎么做才能让这个工作?

问题的第二部分是,如果最终用户没有安装 .NET 4,会发生什么?我将设置安装程序来安装它...但是会出现问题还是我们需要在安装过程的中途强制重新启动?如果是这样,我可能只是暂时存储未加密的内容,并让服务在首次运行时对其进行加密......此时这可能是简单的方法,但感觉不像是“正确”的方法。;)

0 投票
0 回答
714 浏览

visual-studio-2010 - InstallShield 和 VS2010

我安装了 InstallShield 2012 Premier 并尝试在 VS2010 (Premium) 中创建 Basic MSI 项目。但由于出现错误,我无法创建项目:

“InstallShield 2012 Package”软件包未正确加载。问题可能是由配置更改或安装另一个 > 扩展引起的。您可以通过在命令行上与 /log 参数一起运行应用程序来获取更多信息,然后检查文件“C:\Users\Administrator\AppData\Roaming\Microsoft\VisualStudio\10.0\ActivityLog.xml”。

如果我按照 ActivityLog.xml 中的说明进行操作,我会看到下一个错误:

包 [InstallShield 2012 包] C:\Program Files (x86)\InstallShield\2012\System\IsDevPkg.dll 的 LoadLibrary 失败

我已经尝试了 devenv.exe /resetskippkgs 并重新安装了 Visual Studio 和 InstallShield,但它没有帮助。

也许我没有安装一些先决条件?

谢谢,埃琳娜

更新:安装 InstallShield 2012 Spring 解决了这个问题。似乎在较新的版本中,这个包已经被修复了。

0 投票
0 回答
573 浏览

google-chrome - InstallShield:检测安装在 PRQ 中的 Chrome

我正在使用 InstallShield 2012,并且我将 Chrome 作为可再发行组件包含在内,我想检测是否安装了 Chrome。问题是 chrome.exe 安装到用户的 appdata 文件夹中,并且先决条件对话框没有给我选择 AppDataFolder 的选项

谢谢

0 投票
1 回答
327 浏览

installshield-2012 - 如何从 InstallShield 2012 检查 .NET 4?

我通常在 WIX-land 而不是 InstallShield。

NETFRAMEWORK40FULLInstallShield 中的等价物是什么?有没有更好的方法从 InstallShield 2012 检查 .NET 4.0?

请注意:我对从安装程序安装它不感兴趣。只是一个简单的测试,通知用户他们需要在继续之前安装 .NET 4.0。

编辑:我可以使用引导程序,但如果有本地的 InstallShield 方式,我宁愿不这样做。

0 投票
1 回答
945 浏览

visual-studio-2010 - 有没有办法抑制为 InstallShield 2012 项目添加重复的合并模块?

我有一个包含超过 100 个项目的 Visual Studio 解决方案,其中大多数是不同的设备“接口”/适配器 dll,但也有一些常见的 dll 和应用程序。都是 c# 项目。

所有设备适配器 dll 都依赖于一个显然需要 MDAC 2.7 的通用 dll。

我有一个 installshield 2012 标准 MSI 项目,负责打包应用程序和设备适配器 dll。

当我构建安装包时,对于每个引用这个通用 dll 的项目,我都会收到这样的消息。

添加合并模块“Microsoft Data Access Components 2.7 (English)”,它是组件“projectname.Primary_output”的依赖项

由于几乎所有东西都使用这个通用 dll,这似乎有点多余(它执行此操作超过一百次)它还为每次出现增加了 15-30 秒的构建时间。

有什么方法可以阻止 InstallShield 尝试将这个合并模块添加到每个项目输出中?或者是否有任何其他解决方案可能仍然有效,并且可以减少构建时间?

0 投票
1 回答
1868 浏览

installshield - 在字符串表中找不到关于字符串 ID“IDS_ERROR_27555”的警告

我有一个 Installshield2010 项目,在我入职前就出现了这个警告

ISDEV : warning -3028: The string ID "IDS_ERROR_27555" was not found in the string table. It is referenced in the table:"Error" in column:"Message".

查看 svn 历史,这一行是几年前添加到错误表中的 - 以及看似无关的更改

<row><td>27555</td><td>##IDS_ERROR_27555##</td></row>

但是,正如错误所示,ISString 表中没有相应的条目。我很好奇它是如何添加的。IDS_ERROR 字符串看起来像固定字符串,将它添加到我的 ism 的人似乎不太可能手动这样做。

当然,Flexera 的论坛是一座鬼城。我确实找到了一个将该字符串定义为 的ism<row><td>IDS_ERROR_27555</td><td>1033</td><td>Error attempting to apply permissions to object '[2]'. System error: [3] ([4])</td><td>0</td><td/><td>1394414478</td></row>

您的任何 ism 是否定义或引用了 IDS_ERROR_27555?我很确定我可以删除字符串并且不会因为磨损而变得更糟……但我不知道发生了什么让我很烦恼。