Sometimes, some people would ask what rundll32.exe is and when they should use it. But the rule of thumb is very simple. According to experts, you should not use Rundll32.exe. Instead, you should just write your standalone exe. Why? Well, Rundll32 is a leftover from Windows 95. Since it violates so many modern engineering guidelines, it was deprecated. Hence, if you want to run via Rundll32, there is a possibility that you will lose your capacity to tailor execution environment to the program that you are running. Apart from that, there are other reasons why you should not use Rundll32 exe. These are the following:
One of the reasons why you should not use Rundll32 exe is because of the Data Execution Prevention policy. This policy is not applicable to a particular command line for Rundll32. Second reason is that Address Space Layout Randomization is also not applicable for a particular Rundll32. Another program that is not applicable for Rundll32 exe is the SAFER policy. Furthermore, there are also lots of environmental settings that are implied by the executable. Therefore, if you utilize Rundll32, then your settings will not be chosen since you don’t have the control over how the system configures the environment. You wont also be able to get Windows Error Reporting Reports which are very crucial as it alrms you whether there is something wrong in your system already. As a result, you won’t be able to see any crashes in your rundll32.exe command line. The reason for this is because all the error reports are already sent to the registered owner. Another reason why you should not use Rundll32., exe is that explorer tracks different attributes of a particular program and it depends on the executable name. As a result, your command line will just be treated as a not different application from others. Always keep in mind that all Rundll32.exe programs and applications are treated similarly because of determining purposes for the applications that are always run in your computer. Lastly, when you run Rundll32.exe, the description it will use is the tRundll32.exe description in your task manager. Thus, it will not help you to identify what specific Rundll32 instance is currently running.
Overall, there are lots of reasons why you should not use Rundll32.exe, and instead just write your standalone exe. You should also take note that Rundll32 assumes that your provided entry point refers to a particular task which delivers messages because it creates a window on your behalf. One of the main mistakes that people make is writing a Rundll32 entry point for a long running task which should not be the case. This will just result to an unresponsive window because of the clogged-up broadcasts.
There are different ways on how you can run a program without using Rundll32 exe. If you are not yet experienced in basic programming, you can watch some tutorials online. With this, you would be knowledgeable and experienced in different areas of DLL.