【发布时间】:2012-07-14 09:37:30
【问题描述】:
如何实现以下场景,
1) 应该只有一个 exe 应该执行一些代码
2) 此外,它应该在添加/删除程序中添加一个条目
3)当我从添加/删除程序中卸载条目时,我需要调用一些函数/api来完成卸载。
【问题讨论】:
如何实现以下场景,
1) 应该只有一个 exe 应该执行一些代码
2) 此外,它应该在添加/删除程序中添加一个条目
3)当我从添加/删除程序中卸载条目时,我需要调用一些函数/api来完成卸载。
【问题讨论】:
如果您需要的“调用某些函数/api”就像在下次重新启动时删除文件一样简单 - 将其设置为“重新启动时删除”,如 here 所述:
Windows 注册表编辑器版本 5.00 [HKEY_CLASSES_ROOT*\shell\Delete on reboot\command] @="CMD /E:OFF /C REG ADD >HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\RunOnce /v \"Del %1 >OnNextReboot\" /d ^\"cmd.exe /c DEL /F /Q \\"%1\\"\" /f\"" [HKEY_CLASSES_ROOT*\shell\打开] [HKEY_CLASSES_ROOT\Folder\shell\Delete on reboot\command] @="CMD /E:OFF /C REG ADD >HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\RunOnce /v \"Del %1 >OnNextReboot\" /d ^\"cmd.exe /c RD /S /Q \\"%1\\"\" /f\""
要在重新启动时删除注册表项,请使用此(解释为 here):
[HKEY_CLASSES_ROOT*\shell\Delete on reboot\command] @="CMD /E:OFF /C REG ADD >HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\RunOnce /v \"Del %1 >OnNextReboot\" /d ^\"cmd.exe /c DEL /F /Q \\"%1\\"\" /f\"" [HKEY_CLASSES_ROOT*\shell\打开] [HKEY_CLASSES_ROOT\Folder\shell\Delete on reboot\command] @="CMD /E:OFF /C REG ADD >HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\RunOnce /v \"Del %1 >OnNextReboot\" /d ^\"cmd.exe /c RD /S /Q \\"%1\\"\" /f\""
【讨论】: