gpt4 book ai didi

wix - 使用 WIX 将一项发布商策略安装到 GAC 中的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-02 03:11:32 24 4
gpt4 key购买 nike

使用 WIX 3.5 将一项发布商策略安装到 GAC 中的正确方法是什么?

我尝试这样做:

      <File
Id="LIBGAC"
Assembly=".net"
KeyPath="yes"
Vital="yes"
Name="ClassLibrary1.dll"
ProcessorArchitecture="msil"
DiskId="1"
Source="..\ClassLibrary1\bin\Release\ClassLibrary1.dll" >
</File>
</Component>
<Component Id="Config" Guid="F089B1AA-B593-4662-9DF4-F47EB9FBA1F4" >
<File
Id="LIBGACPolicy"
Assembly=".net"
KeyPath="yes"
Vital="yes"
Name="Policy.1.0.ClassLibrary1.dll"
DiskId="1"
Source="..\ClassLibrary1\policy.1.0.ClassLibrary1.dll" >
</File>
<File
Id="LIBGACPolicyConfig"
Source="..\ClassLibrary1\policy.1.0.ClassLibrary1.config"
CompanionFile="LIBGACPolicy">
</File>
</Component>
</Directory>

用VS2008编译时出现这个错误:

policy.1.0.ClassLibrary1.dll appears to be invalid. Please ensure this is a valid assembly file and that the user has the appropriate access rights to this file. More information: HRESULT: 0x8013101b

最后,用VS2010编译时似乎没有任何问题。但在完成安装过程时,DLL 已安装完毕并且出版商政策没有。我还阅读了安装过程中生成的日志,但无法找到原因。

感谢您的阅读。

最佳答案

我一直在做类似的事情,并且在使用 Visual Studio 2010 和使用 MsBuild 的构建服务器中运行良好:

<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="Gac" Name="Gac">
<!-- The component with the assembly -->
<Component Id="MiClassDLL" Guid="*">
<File Id="MiClass.dll" Assembly=".net" KeyPath="yes"
Source="$(var.MiClass.TargetPath)" />
</Component>
<!-- The component with the policy -->
<Component Id="PolicyMiClassDLL" Guid="{YOUR_GUID_HERE}">
<File Id="PolicyMiClass.dll" KeyPath="yes"
Source="$(var.MiClass.TargetDir)Policy.1.0.MiClass.dll" />
<File Id="PolicyMiClass.config" KeyPath="no"
Source="$(var.MiClass.ProjectDir)Policy.1.0.MiClass.config" />

</Component>
</Directory>
</Directory>
</Directory

就我而言,我在同一项目目录中拥有policy.config 文件,并在同一输出中构建策略dll,以使安装程序脚本更容易。

我注意到策略组件必须有一个 guid,并且出于某种原因,它在内部需要同一目录/组件中的策略 dll 和配置文件。

我使用以下命令在 MiClass 项目的 Post-Build 事件中构建策略程序集:

"C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\al.exe"
/link:"$(ProjectDir)Policy.1.0.MiClass.config"
/out:"$(TargetDir)Policy.1.0.MiClass.dll"
/keyfile:"$(SolutionDir)MyKeys.snk"
/comp:"My Company"
/prod:"My Product"
/productv:1.0
/version:1.0.0.0

我希望这对你有用。

关于wix - 使用 WIX 将一项发布商策略安装到 GAC 中的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7792884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com