2015-03-24 103 views
0

这里安装了这些.NET程序集的Windows 8.1在默认情况下:GAC安装问题用InnoSetup

C:\ WINDOWS \ Microsoft.NET \装配\ GAC_MSIL \ Microsoft.PowerShell.ConsoleHost \ v4.0_3.0.0 .0__31bf3856ad364e35 \ Microsoft.PowerShell.ConsoleHost.dll

这里:

C:\ WINDOWS \ Microsoft.NET \装配\ GAC_MSIL \ Microsoft.PowerShell.ConsoleHost.Resources \ v4.0_3.0.0 .0_es_31bf3856ad364e35 \ Microsoft.Pow erShell.ConsoleHost.Resources.dll

这里:

C:\ WINDOWS \ Microsoft.NET \装配\ GAC_MSIL \ Policy.1.0.Microsoft.PowerShell.ConsoleHost \ v4.0_1.0.0 .0__31bf3856ad364e35 \ Policy.1.0.Microsoft.Powershell.ConsoleHost.dll

我想从我的innosetup安装程序安装它们到其他Windows 8.1有PowerShell的结构中移除,并缺乏该组件。

我已阅读关于gacinstall标志,但我不知道我应该如何重现与Windows默认相同的结构,并且我不确定是否应该找到并指定一个强名称这些DLL的StrongAssemblyName参数,有人可以给安装程序的例子?

+0

GAC结构会自动生成,您不需要照顾它。 – 2015-03-25 00:09:10

+0

@Lex Li感谢您的评论,但无论如何我不知道应该在哪里目录中复制我的文件,在'C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL'或C:\ Windows \ Microsoft中。 NET \ assembly',或者在哪里,我真的需要一个带有'Source'和'DestDir'参数的'[Files]'部分的代码示例(以及其他所有可能需要像'Flags'的东西)来了解如何处理我评论过的那些文件的单个文件将它们正确地安装到GAC中。再次感谢! – ElektroStudios 2015-03-25 00:36:18

回答

1

这是OK设定任何目标文件夹,如{app}[Files]的汇编文件,

http://odd-staff.blogspot.com/2010/04/well.html

但你需要让Inno Setup的需要注册成GAC照顾到指定gacinstall标志。

+0

好吧,我只应该在任何地方扩展文件(例如'{tmp}'),并设置'gacinstall'标志将文件发送到GAc目录并安装它,然后确定,但是在那个例子中,已经链接它使用'StrongAssemblyName'参数,我不知道如何正确检索并设置该参数中使用的所有属性。 – ElektroStudios 2015-03-25 12:39:08

+0

为了获得强大的程序集名称,您可以使用[ILSpy](http://ilspy.net)。您可以从此图像中看到,右侧面板中的第二行是您需要的信息,https://i0.wp.com/1.bp.blogspot.com/-1LWFU_GWlMQ/UQ35ue8KZ6I/AAAAAAAAAxs/rIlKdGK20pM/s320/ ilspy.png?调整大小= 320%2C215 – 2015-03-26 12:10:09