On 6/23/21 2:30 AM, Zhiyi Zhang wrote:
On 6/23/21 3:17 PM, Weiwen Chen wrote:
Hi everyone, My name is Weiwen Chen, an undergraduate at Fudan University, Department of Physics. I'm interested in open source projects and I have three years' programming experience, mainly in python, c and golang. I have some experience of operating system utilities through the labs of MIT 6.828. I'm a linux user and wine is something good in my daily life. Maybe I'm not as experienced as you, but I'll try my best to do something useful.
I applied to the 'Implement robocopy.exe' summer project https://wiki.winehq.org/Summer_Of_Code#Implement_robocopy.exe, and have exchanged several emails with Ms. Figura and Mr. Li. (Though I'm not sure whether my application will be accepted! ;))
Besides, I want to know how to add a new executable into the `programs/` directory correctly.
I'm trying to set up a skeleton program which can be compiled. I created `robocopy/` dir under `programs/`, copied things from `reg/` and modified the `MODULE` variable in `Makefile.in`, added lines below in `configure.ac` and rerun `autoconf` command.
WINE_CONFIG_MAKEFILE(programs/robocopy) WINE_CONFIG_MAKEFILE(programs/robocopy/tests)
I hope it will generate an executable called `robocopy.exe` which acts like `reg.exe`, but I don't find it under `.wine/drive_c/windows/system32/` or `.wine/drive_c/windows/syswow64/`. Have I missed anything? I wonder how to add a skeleton executable into `programs/` which can be correctly compiled and placed.
The prefix is only updated when you run `wineboot -u` (or when a change affects wine.inf, which I don't think this does.)
You need to copy robocopy.exe into the prefix. For example, add the following line to loader/wine.inf.in around line 2657 [FakeDlls] section
"11,,robocopy.exe"
For further reading, see dlls/setupapi/install.c SetupInstallFromInfSectionW() and https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-diri... also https://docs.microsoft.com/en-us/windows-hardware/drivers/install/overview-o...
That shouldn't be necessary; the wildcard rule already takes care of installing all programs.
I staged my code mentioned above under my github fork https://github.com/ofey404/wine/tree/robocopy,
Wish you all the best Weiwen Chen