问题标签 [msp]

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

wix - 更新文件的版本号,但累积更新无法更新文件

我们最近发布了一个应用程序版本 2.10.3.X。

并收到了一些修复请求,我们发布了一个小更新(版本为 2.10.4.X)。[ 1 个 2.10.4.1 版本的 dll 和 2 个 xap 文件被更改]

现在他们需要一个小更新 (2.10.5.x) [一个 2.10.5.1 版本的 dll 和 xap 已更改]。

更新应该是累积的。(如果直接安装在 2.10.3.X 之上,2.10.5.x 也应该安装 2.10.4.x 更改):

  • 在 2.10.3.X 之上安装 2.10.5.x 时,它正在正确安装更改。[替换所有 2 dll 和 3 xap]
  • 在 2.10.4.X 之上安装 2.10.4.x 时,它不会更新文件。我检查了 msp 日志文件。

它说相同的版本,不会更新。(但dll版本已正确更改)。

msi 是用 wix 编写的,补丁是通过 InstallShield 2010 service pack1 完成的。我没有使用 2 个以前的 msi ,而是启用“对目标 RTM 版本的小更新(需要 MST 3.1)

0 投票
1 回答
101 浏览

wix - 由于先前 wix msi 的自定义任务失败,Msp 失败

我们正在尝试创建补丁(.msp),但是当我们安装它时,它没有更新任何文件。

在分析的过程中,我们发现以前版本的微星编写的自定义任务有卸载缺陷。

由于无法卸载,msp 没有升级。

现在我们无法更改之前的 msi,因为它已经发布给客户。

有没有办法通过任何解决方法来安装 msp?我们还想修复以前自定义任务的卸载问题。

0 投票
1 回答
331 浏览

wix - 在 server 2008 下 msp 安装失败,但在 server 2003 下成功

致敬 WIX 用户,

我最近在我们的一个补丁中遇到了一个奇怪的问题,我真的很迷茫。试图了解这个问题 3 天,但仍然一无所获,所以我以您的方式发送我的问题,希望有人能看到一些东西。它涉及已经看到 6 个成功补丁 (.msp) 的构建的修补程序 7,因此它之前具有功能性修补程序。

当我在安装该修补程序之后安装构建时,假设是 Windows Server 2003,一切似乎都正确安装。但是在服务器 2008 下,安装失败并显示错误消息:

“将补丁应用到文件 C:\Config.Msi\PT1E0D.tmp 时出错。它可能已通过其他方式更新,无法再被此补丁修改。”

在查看日志后,它似乎与安装在文件夹 bin 下的 dll Coveo.ces.web.search.dll 有关(而不是 GAC 中的副本)。但我的意思是,自原始安装以来,应该没有任何改变。

我认为这是由于使用的 Windows 安装程序版本(服务器 2003 下的 3.0 和服务器 2008 下的 4.0),但我还没有找到任何支持它的东西。

我以前遇到过这个错误,这是因为我们在 GAC 中安装了 2 个相同的文件,它们相互覆盖,但在这种情况下,它从未发生在第一个修补程序(总是第二个)上,它确实不会因系统而异。

PCP 文件与生成 msp 的 msi 非常相似。我已经将失败的修补程序 7 日志与成功安装修补程序 6 进行了比较,我认为这是 dll Coveo.ces.web.search 按时间顺序排列的主要区别,如果您需要完整的日志,请询问我很高兴把它寄给你。

谢谢你的帮助,尼克

0 投票
2 回答
1136 浏览

visual-studio-2010 - 为我的 WIinForm 应用程序创建 MSP 升级补丁不会更新我的 exe。

我有在 .NET 3.5 上运行的 winForm 应用程序。我正在使用 VS 2010,我的启动项目“WinFormUI”引用了其他库。

我使用称为目标安装程序的 VS 2010(保留 .NET 3.5)创建了 MSI 安装程序并安装了应用程序。添加/删除程序确认安装初始版本 1.0.0。安装程序属性 RemovePreviousVersion=True。

现在我通过添加 MessageBox("This is updated project") 更改我的启动项目“WinFormUI”,并将我的启动项目 winFormUi.exe 的程序集版本从 1.0.0.0 更改为 1.0.0.1。

创建了第二个升级的 MSI,并将安装程序的版本从 1.0.0 更改为 1.0.1,但保持“产品代码”相同。

按照http://www.codeproject.com/install/dotnetpatching.asphttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/7dda2e5f-70df-47d5-a62d-100a2bfd0394的步骤 .

我有 Windows SDK V7.1,其中包含 MsiMsp.exe 5.0 版和 Ocra 5.0 版。

我的 PCP 文件有以下数据。

ImageFamilies 表:家庭-> fam1

MsiPatchSequence 表:PatchFamily -> fam1;序列 -> 1.0.0

属性表:MinimumRequiredVersion -> 200 和其他列

TargetImages 表:IgnoreMissingSrcFiles -> 0 和其他列

UpgradedImages 表:Family -> fam1 和其他列

使用 MsiMsp.exe 生成 MSP 并使用 msiexec /p 运行。

它运行安装程序(补丁)。升级后添加/删除程序确认升级版本 1.0.1 但问题是我的更改在我运行我的 exe 时没有反映。即,我已经修改为显示一个 MessageBox(“这是更新的项目”)。

难道我做错了什么 ?需要帮助。谢谢。

0 投票
2 回答
6978 浏览

patch - 使用 Powershell 安装 MSP 在本地机器上工作,远程失败。为什么?

我需要一些 Powershell 建议。

我需要在多个 Win08r2 服务器上安装应用程序的 MSP 更新文件。如果我在本地运行这些命令,在目标机器的 PS 窗口中,它会完全按照我的意愿运行:

正在执行的文件位于目标机器上

如果我远程连接到机器并执行这两个命令,它会打开两个 x64 msiexec.exe 进程和一个 msiexec.exe *32 进程,然后就坐在那里。

如果我重新启动服务器,它不会显示更新已安装,所以我认为这不是时间问题。

我尝试使用这两行创建和远程执行 PS1 文件,但这似乎做同样的事情。

如果有人对远程安装我的 MSP 更新有建议,我会全力以赴。

我想我已经包含了我所拥有的所有信息,但是如果缺少某些内容,请提出问题,我会填写任何空白。

++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++

我的过程是:

  • 读取服务器名称和管理员密码的 CSV
  • 使用密码创建凭据
  • 使用机器名称和凭据创建新会话
  • 创建一个临时文件夹来保存我的更新 MSP 文件
  • 调用将更新文件下载到目标服务器的 PS1 文件
  • >>> 创建一个新的 System.Net.WebClient 对象
  • >>> 使用该 Web 客户端对象从源下载到目标服务器上的位置
  • 调用另一个应用刚刚下载的补丁的 PS1 文件 –>> 这就是我遇到问题的地方。
  • >>> 设置如上所示的变量
  • >>> 执行变量中指定的文件
  • 关闭与目标服务器的会话
  • 移至 CSV 中的下一个服务器...</li>

如果我打开一个 PS 窗口并手动设置变量,然后执行它(如上面两行代码所示),它工作正常。如果我在目标服务器上创建一个 PS1 文件,包含相同的两行代码,然后右键单击 >“使用 PowerShell 运行”,它将按预期/期望工作。如果我在 PowerGUI 中远程执行我的代码,它会返回一个看起来像这样的文本块,然后就坐在那里。RDP'd 进入服务器,安装程序永远不会启动。我对“返回值”值的理解是“0”表示命令成功。

PSComputerName : xx.xx.xx.xx
RunspaceId : bf6f4a39-2338-4996-b75b-bjf5ef01ecaa
PSShowComputerName : True
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS __RELPATH
:
__PROPERTY_COUNT : 2
__ACE: 进程 __SERIVATIONSP : :4808 返回值:0




我什至在变量和在桌面上创建文本文件的执行之间添加了一行代码,只是为了验证我正在进入我的“executeFile”文件,并且确实创建了该文本文件。似乎它只是没有远程执行我的 MSP。

预先感谢您的协助!

猫 11。

0 投票
1 回答
225 浏览

windows-installer - msp 中的自定义操作无法添加到注册表(UAC 限制自定义操作的某些部分的执行)

我在为 Windows 8 创建 msp (Microsoft Patch) 时遇到问题。

执行我的 msp 无法添加到某些机器上的注册表。如果 msp 是“以管理员身份运行”,一切都很好。但是将“以管理员身份运行”添加到 .msp 扩展名并非易事,并且不被接受为解决方案。

核心问题是这个 msp 有一个自定义操作(一个 exe),它向注册表添加了一些键/值。UAC 避免以系统/管理员权限执行此自定义操作。实际上exe执行但只有exe的某些部分(如更新注册表)不起作用(最好的UAC)!

如何提升自定义操作执行权限?我正在使用基本的 msimsp 来创建补丁。我使用 orca 来修改 msi/msp。

谢谢。

0 投票
1 回答
2015 浏览

windows-installer - 在管理安装点添加多个 .msp 补丁并进行验证

我想在 MSI 设置的管理安装点安装几个 .msp 补丁。我使用命令“msiexec /p patch.msp”为 1 个 msp 文件执行此操作,但我想知道是否可以安全地将多个补丁应用到管理安装点,例如“msiexec /p patch1.msp patch2.msp patch3” .msp”,甚至同时进行管理安装和补丁安装,例如“msiexec /a setup.msi /p patch1.msp patch2.msp patch3.msp”

另外,有什么方法可以验证补丁是否成功应用?你以为只有安装过程的退出码就够了吗?

谢谢,

J。

0 投票
1 回答
120 浏览

wix - 每次制作新补丁时是否应该更改 PatchCreation Element 的 GUID?

我为一个 .msi 包制作了两个连续的 .msp 补丁,用于测试目的(以http://wix.sourceforge.net/manual-wix3/patch_building.htm中描述的方式)。

第一次,我为每个补丁的 PatchCreation Element 提供了相同的 GUID,并且第一个补丁成功应用于原始产品(我可以在 ARP 菜单中看到第一个补丁的条目)。但是,第二个补丁根本不适用于第一个补丁。它在启动时从未显示任何错误消息,但它没有出现在 ARP 菜单中,也没有更新任何文件。

因此,我更改了第二个补丁的 PatchCreation Element 的 GUID 并重新创建了第二个补丁,它很好地应用于第一个补丁(它的条目出现在 ARP 菜单中并更新了文件)。

这是在同一个补丁系列中创建每个补丁的正确方法:我应该为每个补丁更改 PatchCreation 元素的 GUID 吗?

0 投票
1 回答
193 浏览

wix - MSP 补丁创建:多个目标还是单个目标?

我有一些连续的 MSI,比如 p1、p2、p3、p4,并且想要制作 MSP 补丁。根据一些测试,似乎只在 p1 和 p4 之间打一个补丁就足以将补丁应用于 p1 和 p4 之间的任何包。这是正确的,还是我应该制作多个 targetted(p1, p2, p3) 补丁?

0 投票
1 回答
1921 浏览

c# - 使用 PSI 在现有 MSP 项目中创建任务

我正在尝试使用我的 MSDN 提供的代码通过 PSI 在现有项目中创建任务:http: //msdn.microsoft.com/en-us/library/office/ms487478 (v=office.12).aspx#pj12_PDSPSIExamples_Task

问题是我在尝试调用 projectClient.QueueUpdateProject(jobId, sessionId, project, false); 时收到错误“GeneralOnlyUpdatesAllowed”;

有什么想法吗?