我已经构建了与RAPI一起使用的C#程序(与PPC或WinCE的通信)
我的问题是,如果用户没有安装ActiveSync - 我的程序崩溃!!
如何在不安装ActiveSync的情况下加载和使用我的程序?
(也许像#if ... #define .....我真的不知道......)
提前谢谢
答案 0 :(得分:1)
你有两个选择:
一,延迟加载RAPI dll,这样你的应用程序就不会抱怨DLL不在那里。在这种情况下,如果安装了ActiveSync,则只能使用RAPI调用(可以通过检查注册表来确定)。
-OR -
二,动态加载RAPI dll,如果安装了ActiveSync,则仅引用RAPI函数。
答案 1 :(得分:0)
我不确定这是否是您的想法,但是您将代码放在接口后面并放入另一个DLL中,然后在程序启动时,查看是否可以找到RAPI(查找文件或安装代码) )。
如果找到,加载DLL并获取使用它的代码的接口,如果找不到,则不加载DLL并禁用任何需要它的UI选项。