|
|
第 27 行: |
第 27 行: |
|
| |
|
| == Bug == | | == Bug == |
| ===Microsoft Remote Assistance=== | | === Microsoft 远程协助 === |
| <code>rcimlby.exe</code> (the Microsoft Remote Assistance executable) is supposed to be registered during I386 installation, and can be done so by passing the argument <code>RegServer</code> to it. The main function checks for <code>RegServer</code> and <code>UnregServer</code>, and sets the value of the bool to pass to a function called <code>RegisterEXE</code> accordingly. This build's <code>rcimlby.exe</code> contains a slightly different <code>RegisterEXE</code> function that creates a message box titled "Test2" saying "Test" upon its execution. It also calls <code>GetLastError</code> if the return value of <code>bstrRAName.LoadString</code> is zero, which will not do anything as it does not save the return value of <code>GetLastError</code>. | | <code>rcimlby.exe</code>(Microsoft 远程协助可执行文件)应该在 I386 安装期间注册,并且可以通过向它传递参数 <code>RegServer</code> 来完成。main 函数检查 <code>RegServer</code> 和 <code>UnregServer</code>,并相应地设置要传递给名为 <code>RegisterEXE</code> 的函数的布尔值。此版本 <code>rcimlby.exe</code> 包含一个略有不同的 <code>RegisterEXE</code> 函数,此函数在执行时创建一个标题为“Test2”的消息框,上面写着“Test”。如果 <code>bstrRAName.LoadString</code> 的返回值为零,它还会调用 <code>GetLastError</code>,这不会执行任何作,因为它不会保存 <code>GetLastError</code> 的返回值。 |
| | |
| <gallery> | | <gallery> |
| File:Normal rcimlby.exe RegisterEXE Function.png | Normal RegisterEXE function
| | Normal rcimlby.exe RegisterEXE Function.png|普通 RegisterEXE 函数 |
| File:Longhorn build 4033 (main) rcimlby.exe RegisterEXE Function.png | This build's RegisterEXE function
| | Longhorn build 4033 (main) rcimlby.exe RegisterEXE Function.png|此版本的 RegisterEXE 函数 |
| </gallery> | | </gallery> |
| [[File:Longhorn build 4033 Test Message.png|thumb|250x250px|Test message box]] | | [[文件:Longhorn build 4033 Test Message.png|thumb|250x250px|Test 对话框]] |
| This means for the I386 copy of this build, that message box will popup during installation. It must be closed as soon as possible, as not closing it will prevent further code execution, hence make Setup believe that the registration of <code>rcimlby.exe</code> failed. Setup will then log it as an error and move on. This will cause a message to appear, notifying the error at the end of the installation. If the message box is closed after Setup logging it as an error and before the completion of second stage installation, <code>rcimlby.exe</code> will still be registered correctly. The IBS copy of this build does not have <code>rcimlby.exe</code> correctly registered, as Microsoft used unattended installation which means the message box wasn't closed at all, hence the actual registration code was never executed.
| | 这意味着对于此版本的 I386 副本,此消息框将在安装过程中弹出。必须尽快关闭它,因为不关闭它会阻止进一步的代码执行,因此让安装程序认为 <code>rcimlby.exe</code> 注册失败。然后,安装程序会将其记录为错误并继续。这将导致出现一条消息,在安装结束时通知错误。如果在安装程序将其记录为错误之后,在完成第二阶段安装之前关闭了消息框,<code>rcimlby.exe</code> 仍将正确注册。此版本的 IBS 副本没有正确注册 <code>rcimlby.exe</code>,因为 Microsoft 使用了无人值守安装,这意味着消息框根本没有关闭,因此从未执行实际的注册码。 |
|
| |
|
| This build is also the last known main build with <code>rcimlby.exe</code>.
| | 此版本也是已知的最后一个包括 <code>rcimlby.exe</code> 的 main 版本。 |
|
| |
|
| ===Safe mode=== | | ===Safe mode=== |