问题标签 [wise]

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 回答
370 浏览

c# - 向 WISE 注册 COM 互操作 Dll

我正在谈论的应用程序由 vb6 (80%) 和 c#、.Net Framework 4.0 (20%) 组成。所有新组件都是用 c# 创建的。使用 Microsoft Interop Forms Toolkit 2.1,我们创建了稍后嵌入 vb6 的 COM 用户控件。对于表单,我们使用普通类在 vb6(COM Visible 项目)中创建和打开。为了创建我们使用的设置。

本地一切正常 - 只有当我们使用明智创建的设置在非开发人员机器上安装应用程序时才会出现问题。

我们添加了一个类来打开 ac# Form 到现有的互操作工具包项目。它在开发人员机器上以及当我们在 pc(非开发机器)上进行新安装时工作正常。新类仅用于打开表单。

但是当我们将应用程序更新到更新版本时,该类不再工作。我们必须卸载旧版本并安装新版本才能使其再次工作。

以前有人遇到过类似的问题吗?

我很感激任何建议

0 投票
1 回答
258 浏览

c# - Logger Service 需要有 log4net / WISE 的默认配置文件

我正在开发一个简单的记录器服务 (C#2.0),它记录从不同客户端到达的消息(通过 MSMQ)。Logger Service 的日志机制是使用 log4net 库。我想为 log4net 配置提供单独的文件。服务应该与其他应用程序一起安装在一个通用安装包中(使用 WISE)。我希望在第一次安装时为 Logger Service 提供默认的 log4net 配置文件,并且仅当它丢失时才将该文件写入安装目录,否则保留现有文件。

请帮助新手。

我是否在安装包或服务中管理它..或在两个地方?什么是最好的方法?欢迎任何建议。

0 投票
1 回答
611 浏览

installation - 如何在基于明智安装的卸载期间停止正在运行的进程?

当我unwsied一个项目时,如果项目的主程序正在运行,那么卸载除主程序之外的所有floders和文件。

如果主程序正在运行,我该怎么办?

谢谢。

0 投票
1 回答
400 浏览

windows - WiseScript:让用户执行正在运行的进程

我知道可以通过 WiseScript 使用以下方法检测当前登录的 Windows 用户:

但纯粹在 WiseScript 中,有没有办法让用户名执行正在运行的进程?

这里有一个重要的区别,因为您可以作为“Bob”登录,但在 MyDBInterface.exe 上使用“Sally”运行,并且 MyDBInterface.exe 必须以 Bob 的权限运行。

注意: 我知道我可以使用与 wise 对话的外部 C# 应用程序来执行此操作,但如果有内置方法,则可以在 Wise 中执行此操作。

0 投票
2 回答
551 浏览

wix - 从安装程序二进制文件确定安装程序类型

是否可以检查现有安装程序并确定它是否是 WIX / WISE / OtherTechnology 安装程序?

0 投票
1 回答
533 浏览

vbscript - vbscript - 尝试在编译时自动更新升级表会给出所需的错误对象

我正在尝试自动化一个过程,以在编译时更新一个 wise for windows 包,以更新产品代码、包代码、产品版本和更新表 versionmax 值。

我可以成功更新包代码的属性表和摘要信息。但是,更新表给我带来了问题。此表中有几个条目。

我可以枚举现有条目,但无法更新现有条目。每次我尝试得到一个错误“异常:需要对象'project.WTables(...).WRows.Row(...)'

我使用的语法与前面更新 ProductCode、ProductVersion 和包代码的调用相同。

我正在使用 vbscript。

我正在传递产品版本和 wise wsi 项目文件的完整路径。在 UpdateUpgradeTable 函数中,aUpgradeGuids 按照我的预期正确填充了一组升级代码。我现在要做的就是将每个代码的 VersionMax 值更改为当前的 wiseProductVersion。但是,vbscript 对象 WRows.Row(a(i)) 似乎存在一些问题,这是一个实际的 GUID。

我在帮助的自动化部分查看了其他示例脚本,它确实支持使用变量,而且看起来变量不像纯文本那样需要引号。我什至不确定这意味着什么,需要对象。项目绝对是一个对象。我已经确认了。我什至通过在函数中插入直接文本来尝试过这个,但它仍然失败。我已经用 tblProperty.WRows.Row(...) 尝试过,但它以同样的方式失败。在 Set tblProperty = ... 之后,我尝试在 For 循环之外用一个好的升级代码调用它,但它仍然失败。这种类型的结构适用于所有以前的表格。这让我很困惑。有任何想法吗?我认为这可能超越了 Wise for Windows 并且可能对 msi 也是通用的,所以我也将在 MSI 下发布。

我有一个看起来像这样的子主:

编辑:'更新了 UpdateUpgradeTable

0 投票
2 回答
177 浏览

cruisecontrol.net - CruiseControl 构建时间在 vmware 工作站上降低

我有一个非常奇怪的问题,我怀疑我最后的帮助希望来自这个社区。

我有一个构建系统,其中包含编译明智安装程序包的三个不同元素。我看到的症状是这些项目的构建时间在虚拟机上随着时间的推移而明显下降。这发生在多台虚拟机上,自 2013 年 11 月以来一直如此。幸运的是,我有克隆虚拟机的习惯,并在 12 月初克隆了机器,当时症状处于早期阶段。

例如,正常的构建时间应该在 48 到 50 分钟内完成。时间慢慢下降,当我注意到问题时,时间已经下降到 1 小时 45 分钟。我通常不会监控系统的性能,而是监控构建的结果——所以我从来不知道。我拥有的克隆机器将恢复系统,使其在大约 1 小时 12 分钟内构建。

分析构建时间,所有时间都被明智的安装程序使用。我已尝试卸载并重新安装该应用程序。我已经清理了临时目录,运行了 chkdsk 和其他正常的调试操作。

明智的安装程序项目之一是需要重新编译的合并模块,因为它会更新数据库文件。这应该只需要 8 分钟来编译。需要超过 1/2 小时。

谁能想到我可以寻找什么来诊断这个问题?什么会使系统降级,从而在一个月的时间里,明智的安装程序编译可能会在其构建时间上浪费多达 45 分钟?构建机器操作系统:XPsp3 硬盘:SSD 其他构建确实在同一主机上运行,​​并且可以同时运行,但在 2013 年 11 月之前,这对性能没有影响。

0 投票
2 回答
168 浏览

delphi - WISE - COM 服务器注册选项“不注册”不起作用?

我明智地为使用进程内 (DLL) COM-Server 的 Delphi 应用程序创建了一个安装程序。我将 Wise 项目中的 DLL 配置为“不注册”,但在测试安装后它还是注册了?

在此处输入图像描述

这是 WISE 的“未记录功能”还是我做错了什么?

有没有人有这个问题的解决方法或修复?

PS 我不想注册 DLL 的原因是,在目标 PC 上,COM 服务器可能已经为另一个具有我不想接触的特定设置(线程模型、路径等)的应用程序注册。

0 投票
1 回答
671 浏览

windows - WiseScript - 转义百分号

我需要使用 % 作为我在 WiseScript Wise Package Studio 中运行的命令的参数。使用诸如 %% 之类的双百分比似乎不起作用。

我在命令提示符下验证了此命令效果很好:

但是当我把它放在明智的地方时:

我收到一个错误,因为它正在将其解析为变量。我知道我需要将其作为文字进行转义,但是如何?

注意:我真的想避免为这个 exe 使用外部 .bat 文件等,所以请不要建议以这种方式解决问题。谢谢!

0 投票
1 回答
3407 浏览

.net - 如何始终检测从注册表安装 4.5.1

我的 .net 应用程序是使用 4.5.1 构建的。目前我正在开发安装程序项目,并为此使用 symantec wise 脚本。我添加了一个必要条件以仅在安装 .net 4.5.1 时继续安装。

http://msdn.microsoft.com/en-us/library/hh925568%28v=vs.110%29.aspx中解释了检测此问题的注册表项。

如上所述,我在注册表路径中检测到 378758 或 378675 作为发布键。

但是,Microsoft 发布了另一个就地更新 4.5.2 (key:379893),它替换了早期的注册表项。所以我的检查不允许将应用程序安装在 4.5.2 的系统中。但是,由于它是 4.5.1 的就地更新,因此在逻辑上应该如此。我可以添加 379893 的附加发行版本。这将满足每个必要条件。

但是,如果 Microsoft 发布另一个就地更新,例如 4.5.3,我的检查将再次失败。

由于它是一个安装程序项目,因此一旦发布门,我就无法更改每个必要的逻辑。

所以,我来问我的问题,是否有一种可靠的方法来检测 .net 4.5.1 以及它后来的所有更新,并且只能通过注册表来完成吗?

我附上了注册表的屏幕截图,它在更新到 4.5.2 时的外观。 在此处输入图像描述