我在InnoSetup向导中使用自定义DLL 一切顺利。
除了AFTER安装成功完成外,还有主GUI窗口 关闭(按预期)但图标仍保留在任务栏中 (安装过程仍然存在,可以很容易地从任务管理器中删除)
我认为DLL正在留下一些未发布的资源或引用,以及InnoSetup 最终代码正在等待它。 有关IS正在等待的特定资源的任何提示吗?
由于
答案 0 :(得分:1)
经过大量调试和拔毛后,发生死锁的是Delphi单元的终结代码。
如果在终结代码中启动/终止了线程,那么有效的代码将在innosetup时挂起 试图释放dll。
我知道DLL_THREAD_ATTACH例程是由windows序列化的,所以这可能就是问题所在。 Innosetup本身是用delphi编写的,这可以通过一个简单的dephi程序来复制,该程序调用一个delphi DLL,它调用一个delphi DLL,它在一个单元终结例程中用来解决终止代码
希望这可以帮助将来的某个人