前面分析安装后,就会调用setup.exe程序运行,在入口函数里处理命令行参数newsetup后,就会调用函数newsetup来运行,下面来仔细地分析这个函数是到底做什么事情。如下:
#001 static VOID
#002 RunNewSetup (HINSTANCE hInstance)
#003 {
#004 HMODULE hDll;
#005 PINSTALL_REACTOS installreactOS;
#006
这里进行配置参数初始化,比如注册表里参数,固定文件保存的目录等等。
#007 /* some dlls (loaded by syssetup) need a valid user profile */
#008 InitializeProfiles();
#009
这里加载动态连接库syssetup文件。
#010 hDll = LoadLibrary (TEXT("syssetup"));
#011 if (hDll == NULL)
#012 {
#013 DPRINT("Failed to load 'syssetup'!/n");
#014 return;
#015 }
#016
从动态连接库syssetup里获取安装ReactOS的函数installreactOS。
#017 DPRINT("Loaded 'syssetup'!/n");
#018 installreactOS = (PINSTALL_REACTOS)GetProcAddress (hDll,"installreactOS");
#019
#020 if (installreactOS == NULL)
#021 {
#022 DPRINT("Failed to get address for 'installreactOS()'!/n");
#023 FreeLibrary (hDll);
#024 return;
#025 }
#026
#027 installreactOS (hInstance);
#028
运行完成后,就开始释放动态连接库。
#029 FreeLibrary (hDll);
#030}
原文地址:https://www.jb51.cc/react/308465.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。