使用用于.NET控件的WiX安装程序在32个版本上设置registry项。64位,WoW6432Node

使用用于.NET控件的WiX安装程序在32个版本上设置registry项。64位,WoW6432Node,第1张

概述使用用于.NET控件的WiX安装程序在32个版本上设置registry项。 64位,WoW6432Node

我正在部署一个MSI安装程序的帮助下的用户控件。 安装程序是使用WiX 3.8创build的,应该将控件安装到用户计算机上的GAC中:

<Directory ID="D_GAC_PH" name="GAC"> <Component ID="RT_PRODUCTDLL" GuID="CC18029F-3D4D-4C16-8871-88438DF5F8C1"> <!-- Runtime,assembly in GAC --> <file ID="F_RT_PRODUCTDLL" name="control.dll" Source="$(var.ProductDLLPath)" KeyPath="yes" Assembly=".net"/> </Component> </Directory>

为了让控件显示在Visual Studio的“添加组件”列表中,有几个 资源指出为了这个工作,需要手动设置registry的某些键:

[HKEY_LOCAL_MACHInesOFTWAREWow6432NodeMicrosoft.NETFrameworkAssemblyFoldersProductname

下面的WiX组件注册键很好:

<RegistryKey Root="HKLM" Key="SOFTWAREMicrosoft.NETFrameworkAssemblyFolders$(var.CompanySafename)"> <RegistryValue Value="[$DT_ProductDLL]" Type="string"/> </RegistryKey>

注意,我select了没有“Wow6432”节点的密钥。 但是,这个密钥实际上是32位系统的预期密钥。 在64位系统上testing上述(非WoW)密钥导致正确的(WOW6432Node)密钥被添加。 我想,WiX / windows / windows Installer会将密钥redirect到64位的正确WoW节点。 (?)

NAnt和双平台构build – 在windows和Mono / linux上构build的最佳方式

将窗体设置为窗口的所有者

是否有可能通过关联的文件将命令行parameter passing给可执行文件?

如何在C#中使用websocket-sharp禁用强制连续帧

用外出对话框创build一个新的电话簿条目

在不同版本的WiX / windows Installer中有多可靠? 我希望这可以在较旧的windows Installer版本以及32位系统上工作。 这是logging或指定的地方? 或者,在WiX中使用条件并手动决定密钥会更好吗?

将最后一行添加到文件中的最简洁/最简单的方法

.NET 3.5安全问题

使用PHP和DOTNET类访问windowsregistry

目前的C ++最佳实践和IDE

linux和windows数据系统可以共存吗?

一般来说,你可以通过将组件设置为Win64来将注册表指向适当的位置,那么它就可以工作。 我相信Win64的默认值可能默认为软件包的体系结构,所以你可能有一个32位的设置。 要明确你可以标记组件为Win64 =“否”作为提醒,但简短的答案是,它应该是可靠的。 你的组件显然是默认的32位组件,因此它只是在新旧系统上做正确的事情。

总结

以上是内存溢出为你收集整理的使用用于.NET控件的WiX安装程序在32个版本上设置registry项。 64位,WoW6432Node全部内容,希望文章能够帮你解决使用用于.NET控件的WiX安装程序在32个版本上设置registry项。 64位,WoW6432Node所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1285696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存