如何运行heat.exe并在wix中注册一个dll
发布时间:2020-12-14 02:05:35 所属栏目:Windows 来源:网络整理
导读:我需要在regAsm中注册一个dll,现在我正在使用它 CustomAction Id='comReg' Directory='INSTALLLOCATION' ExeCommand='"[WindowsFolder]Microsoft.NETFrameworkv4.0.30319regasm.exe" "[INSTALLLOCATION]myProduct.dll" /codebase' Return='check' / 注册
我需要在regAsm中注册一个dll,现在我正在使用它
<CustomAction Id='comReg' Directory='INSTALLLOCATION' ExeCommand='"[WindowsFolder]Microsoft.NETFrameworkv4.0.30319regasm.exe" "[INSTALLLOCATION]myProduct.dll" /codebase' Return='check' /> 注册和注销 <CustomAction Id='comUnreg' Directory='INSTALLLOCATION' ExeCommand='"[WindowsFolder]Microsoft.NETFrameworkv4.0.30319regasm.exe" /u "[INSTALLLOCATION]myProduct.dll" /codebase' Return='check' /> 我使用它,有时它的安装和somne??times它给出错误. 解决方法
Heat用于刮取目录或文件,并生成.wxs文件以包含在安装程序中.如果您希望使用COM接口从.net DLL生成注册表信息,可以使用如下命令:
Heat.exe file C:&;path_to_com_dll>com.dll -dr INSTALLFOLDER -srd -gg -sfrag -suid -out C:&;path+wxs_file_name_to_output> 以下是来自上述命令的一些示例输出: <Component Id="ExactaDatabaseAccess.dll" Guid="{96F922A0-38C8-4B58-9E3B-E6B0C24EE09D}"> <Class Id="{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}" Context="InprocServer32" Description="ExactaDatabaseAccess.DatabaseAccessObj" ThreadingModel="both" ForeignServer="mscoree.dll"> <ProgId Id="ExactaDatabaseAccess.DatabaseAccessObj" Description="ExactaDatabaseAccess.DatabaseAccessObj" /> </Class> <File Id="ExactaDatabaseAccess.dll" KeyPath="yes" Source="$(var.BasePath)ExactaDatabaseAccess.dll" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}Implemented Categories{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Value="" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer325.5.6.8" Name="Class" Value="ExactaDatabaseAccess.DatabaseAccessObj" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer325.5.6.8" Name="Assembly" Value="ExactaDatabaseAccess,Version=5.5.6.8,Culture=neutral,PublicKeyToken=null" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer325.5.6.8" Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer325.5.6.8" Name="CodeBase" Value="file:///[#ExactaDatabaseAccess.dll]" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer32" Name="Class" Value="ExactaDatabaseAccess.DatabaseAccessObj" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer32" Name="Assembly" Value="ExactaDatabaseAccess,PublicKeyToken=null" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer32" Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID{E5CF8A66-AA42-432F-A036-97A3FC7E6EBC}InprocServer32" Name="CodeBase" Value="file:///[#ExactaDatabaseAccess.dll]" Type="string" Action="write" /> </Component> 基本上,heat命令会生成一个包含上述组件的wxs文件.然后,您需要做的就是在主安装程序中包含此组件或组件组.然后它将创建注册表项而不是运行regasm.然后卸载将删除这些注册表项. 以下是如何将其包含在主安装程序中: <Feature Id="ProductFeature" Title="ExactaSmallPick" Level="1"> <ComponentRef Id="ExactaDatabaseAccess.dll"/> </Feature> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 选择32位或64位调试工具
- windows-services – 监控单个窗口服务的性能
- 关于在MvvmCross中何时何地使用ObservableCollection的建议
- dll – LoadLibrary失败,找不到模块错误 – 可能存在依赖性
- 如何在Windows上解决与Git的文件夹大小写冲突?
- 如何在WPF应用程序中实现Vista玻璃透明度(AERO)?
- active-directory – 将Office 365用户拉到Active Director
- 如何在EC2 Windows实例中以编程方式/远程执行程序
- 适用于Windows或Mac上PostgreSQL的良好前端
- windows – 在多个zip压缩文件中搜索字符串
推荐文章
站长推荐
- windows 搭建iis文件服务器
- Windows Git安装与使用
- window.open()打开子页面并从父页面取值
- windows – Git:Diff不处理UTF-8以外的字符编码
- winforms – 如何在System.Windows.Forms.TextBo
- windows – 如何阻止Internet Explorer跟踪在OTH
- windows-server-2008 – 大规模Active Directory
- windows-phone – Windows Phone 8中的FM收音机怎
- windows – 批量请求用户输入(/ P)时换行?
- Win2003服务器安全加固设置--进一步提高服务器安
热点阅读