程序不使用DLL在系统路径中的目录中

时间:2016-12-21 18:58:05

标签: dll visual-studio-2015 inno-setup clickonce

我的办公室使用了Click Once Deployment程序。 1.5MB是实际节目。其余的是静态DLL,如EPPlus和PDFSharp。我还有一些总共大约7MB的人,我已经准备好使用大小为154MB的SyncFusion库。

我决定将这些DLL文件保留在部署之外,而是将它们安装到相关系统中。我使用Inno和modpath.iss来安装这些。

[Setup]
AppId={{6485E93B-75FC-4613-AFB7-A1800B986F7D}}
AppName="Required DLL Files"
AppVersion="1.0"
DefaultDirName="{pf}\FE Libraries"
OutputBaseFilename="Required DLL Files.exe"
Compression=lzma2/ultra64
SolidCompression=yes    
ChangesEnvironment=true

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "Files\*"; DestDir: "{app}"; Flags: "deleteafterinstall"

[Tasks]
Name: modifypath; Description: &Add application directory to your environmental path; Flags: unchecked

[Code]
const
    ModPathName = 'modifypath';
    ModPathType = 'system';

function ModPathDir(): TArrayOfString;
begin
    setArrayLength(Result, 2)
    Result[0] := ExpandConstant('{app}');   
end;
#include "modpath.iss"

文件安装到正确的位置,Path添加到System Environmental。

位置

c:\Program Files (x86)\WOTC-FE Libraries

路径字符串

c:\Program Files (x86)\WOTC-FE Libraries

这是一个x86编译的应用程序。

但是,该程序不会运行任何需要这些DLL文件的函数。我收到的错误表明已经注册的DLL文件没有安装。

System.IO.FileNotFoundException: Could not load file or assembly 'EPPlus, Version=4.0.5.0, Culture=neutral, PublicKeyToken=ea159fdaa78159a1' or one of its dependencies. The system cannot find the file specified.
File name: 'EPPlus, Version=4.0.5.0, Culture=neutral, PublicKeyToken=ea159fdaa78159a1'

我错过了什么?

0 个答案:

没有答案