InstallShield高手请进.高分回答。如何在InstallScript中调用VC#.net开发的组件???

wuxinjiang 2004-12-30 08:34:06
VC#开发的DLL中的函数式在一个类中的
请问在InstallScript中应该怎么调用DLL类中的一个函数呢
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxinjiang 2004-12-31
  • 打赏
  • 举报
回复
我还是不明白,一个C#的DLL文件中首先有一个命名空间,命名空间中包含一个类,类中才包含一个函数,我总不会直接用DLL文件名就调用其中的函数吧。
谁能不能提供一个VC# 开发DLL的简单例子然后给出在InstallScript中的调用方法呢?送满分
老夏Max 2004-12-31
  • 打赏
  • 举报
回复
www.installsite.org上有各种例子!
kingzai 2004-12-31
  • 打赏
  • 举报
回复
#define DLL_FILE "MyDLL.dll;"



// Prototype MydllReturn in Mydll.dll.

prototype Mydll.MydllReturn (INT, BYREF STRING);



STRING svString;

INT nValue;

NUMBER nResult;

BOOL bDone;



#include "ifx.h"

program



// Load the dll into memory.

nResult = UseDLL (DLL_FILE);



if (nResult = 0) then

MessageBox ("UseDLL successful \n\n.DLL file loaded.", INFORMATION);

else

MessageBox ("UseDLL failed.\n\nCouldn't load .DLL file.", INFORMATION);

abort;

endif;



// bDone controls the following while loop.

bDone = FALSE;



// Loop while bDone is FALSE.

while (bDone = FALSE)



// Disable the Back button in setup dialogs.

Disable (BACKBUTTON);



// Get a string from the euser.

AskText ("Enter an example string.", "Example string.", svString);



// Get the string length to pass to MydllReturn.

nValue = StrLength (svString);



// Call MydllReturn.

MydllReturn (nValue, svString);



// Display the string to observe how it was altered by MydllReturn.

SprintfBox (INFORMATION, "UseDLL", "MydllReturn() changed the string " +

"to: %s", svString);



// Give the user a chance to do another example.

if (AskYesNo ("Do another example?", YES) = NO) then

bDone = TRUE;

endif;



endwhile;



// Remove the dll from memory.

if (UnUseDLL (DLL_FILE) < 0) then

MessageBox ("UnUseDLL failed.\n\nDLL still in memory.", SEVERE);

else

MessageBox ("UnUseDLL successful.\n\n.DLL file removed from memory.",

INFORMATION);

endif;



endprogram
xiaohuidong 2004-12-31
  • 打赏
  • 举报
回复
For example:

1. prototype BOOL MyDLL.MyFunction( INT, INT, INT );
2. UseDLL( SUPPORTDIR ^ "MyDLL.dll" );
3. bResult = MyDLL.MyFunction( nInt1, nInt2, nInt3 );

xiaohuidong 2004-12-31
  • 打赏
  • 举报
回复
prototype [CallingConvention] [ReturnType] DLLName.FunctionName( ParamType1, ParamType2, ... );
Flexera Software 于2010年8月19日发布了最新版本InstallShield 2011,同时宣布了InstallShield 2008停止授权。如果您想要创建属于您自己的软件安装包,赶快来试用吧! *您是Visual Studio的用户吗? 了解为什么Microsoft将InstallShield作为Visual Studio安装方案的最佳选择; *您是在Windows 7上开发应用程序吗? InstallShield 2011可以轻松建立可经过Windows 7 认可的安装包; *您想要在针对64位的系统上建立应用程序安装包吗? InstallShield 2011提供新工具帮您节省时间和资源; *您想发布虚拟应用程序包? InstallShield 2011是唯一可以做到这点的安装打包解决方案,而且独家支持Microsoft App-V。 InstallShield 2011新增功能亮点: 1.加强对Visual Studio 2010和.NET Framework 4.0的支持:在Visual tudio 2010集成开发环境Build安装包,发布基于.NET 4的应用程序,包括安装包使用到的.NET前提条件。 2.与Microsoft Team Foundation Server无缝集成:在一个统一的环境编辑,编译以及管理InstallShield和Visual Studio工程。 3.加强对64位应用程序的支持:新增功能可以使得开发人员更容易部署针对64位Windows 7和Windows Server系统上的应用程序。 4.InstallScript也支持Unicode:InstallScript工程类型的安装包,在运行时字符串,注册表,对话框等都支持多语言。 5.加强脚本编辑器的功能: 新增加的自动补充功能使得开发人员在写脚本代码时效率更高,并且可以避免函数名字拼写的错误。 6.新增加编译事件:在InstallShield编译过程,减免了需要管理外部脚本文件的预定义事件。 7.新增加新的前提条件检测项: 新支持了.NET Framework 4.0,SQL Server 2008 Express SP1和Adobe Reader 9的检测。 8.新增安装试用过期功能:可以防止用户安装过期的应用程序。 9.Standalone Build 模块授权方式改变:用户可以在不购买完整版本的InstallShield的情况单独购买Standalone Build模块。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧