Mar*_*icz 9 .net installation inno-setup
我想从Inno安装脚本中调用.NET DLL(用C#编码)中的函数.
我有:
[文件]
来源:c:\ temp\1\MyDLL.dll; 标志:dontcopy
[码]
function MyFunction():string;
外部'MyFunction @文件:MyDLL.dll stdcall setuponly';
但我仍然收到以下错误:
运行时错误(在-1:0):
无法导入DLL:C:\ DOCUME~1\foo\LOCALS~1\Temp\is-LRL3E.tmp\MyDLL.dll.
我究竟做错了什么?
哎呀,我的错,我已经太久没有读过帕斯卡了!因此,如果您需要获取该值,那么有几种可能性:
当我上次使用 InnoSetup 时,它不直接支持您的场景(从安装程序调用 .NET 代码)。
小智 5
Intenta de esta manera(试试这种方式):
Var
obj: Variant
va: MyVariableType;
Begin
//Starting
ExtractTemporaryFile('MyDll.dll');
RegisterServer(False, ExpandConstant('{tmp}\MyDll.dll'), False);
obj := CreateOleObject('MyDll.MyClass');
//Using
va := obj.MyFunction();
//Finishing
UnregisterServer(False, ExpandConstant('{tmp}\MyDll.dll'), False);
DeleteFile('{tmp}\MyDll.dll');
End;
Run Code Online (Sandbox Code Playgroud)
Suerte(祝你好运)