C# · 12月 27, 2021

“SystemFolder”在WIX和C#

我使用WiX创建的安装程序使用SystemFolder变量安装DLL,以及将C#应用程序安装到另一个文件夹中.我想直接从应用程序引用DLL.我需要查找注册表项才能找到SystemFolder在哪里吗?解决方法 不,您不需要查询注册表. Windows Installer具有一系列内置属性,可自动解析为特殊的知名位置,如SystemFolder.

有关更多的一般信息,请参阅System Folder Properties.对于WiX,只需创建一个Directory元素作为TARGETDIR目录元素的直接子代:

<Directory Id=”TARGETDIR” Name=”SourceDir”> <Directory Id=”SystemFolder” Name=”SystemFolder” /></Directory>

如果你已经知道了,想知道如何从C#引用DLL,那么SystemFolder就在搜索路径中,所以我不知道为什么你必须这样做.如果是我,我将编译C#作为x86(Anycpu现在有点离开时尚),并使用:

string myDllPath = Path.Combine( System.Environment.SystemDirectory,”my.dll” );