Vb.net 删除自己的程序

Vb.net 删除自己的程序,vb.net,installation,Vb.net,Installation,我需要编写一个在运行时删除自身的程序…如何在vb.net中执行以及执行该操作的概念是什么..这可能会帮助您: 这可能会帮助您: 要让一个程序毫无痕迹地删除它自己,你至少需要让其他人在它关闭后删除你的(最后一个)可执行文件。这是因为一个正在运行的可执行文件将被使用,如果您从正在运行的代码中删除它,您将得到共享冲突 我认为,您可以使用Windows来实现这一点,在Windows启动时使用命令行的注册表设置来运行。您可以将“删除[可执行文件的完整路径]”放在那里。(如果您确实需要,请通过谷歌搜索正

我需要编写一个在运行时删除自身的程序…如何在vb.net中执行以及执行该操作的概念是什么..

这可能会帮助您:


这可能会帮助您:


要让一个程序毫无痕迹地删除它自己,你至少需要让其他人在它关闭后删除你的(最后一个)可执行文件。这是因为一个正在运行的可执行文件将被使用,如果您从正在运行的代码中删除它,您将得到共享冲突

我认为,您可以使用Windows来实现这一点,在Windows启动时使用命令行的注册表设置来运行。您可以将“删除[可执行文件的完整路径]”放在那里。(如果您确实需要,请通过谷歌搜索正确的注册表设置。)

另一个好的选择似乎是
Aamir
回复中的第一个链接:在退出可执行文件之前,您启动另一个进程,使用部分Windows等待一段时间,然后删除可执行文件

另一个选择是确保您有一个正确的安装程序包(例如MSI包),该安装程序包使用您所在操作系统(例如Windows)的安装子系统(例如MS安装程序)执行您想要的操作。但这仅在应用程序有/需要完整安装程序时才有效

工作原理如下:当用户卸载时,让安装程序包确保应用程序可执行文件当前未运行。它可以向用户显示它是,并在继续之前要求关闭应用程序,或者在确认后终止其进程。在此之后,它可以删除包安装的所有文件,包括可执行文件


在VB.NET/C中#在VisualStudio中,可以使用自定义安装程序类添加“确保我的可执行文件未运行”逻辑。或者使用第三方安装工具来创建安装程序包,该安装程序包可以自动完成此操作。

要让一个程序完全删除自身而不留任何痕迹,您需要在关闭后至少要求其他人删除您的(最后一个)可执行文件。这是因为一个正在运行的可执行文件将被使用,如果您从正在运行的代码中删除它,您将得到共享冲突

我认为,您可以使用Windows来实现这一点,在Windows启动时使用命令行的注册表设置来运行。您可以将“删除[可执行文件的完整路径]”放在那里。(如果您确实需要,请通过谷歌搜索正确的注册表设置。)

另一个好的选择似乎是
Aamir
回复中的第一个链接:在退出可执行文件之前,您启动另一个进程,使用部分Windows等待一段时间,然后删除可执行文件

另一个选择是确保您有一个正确的安装程序包(例如MSI包),该安装程序包使用您所在操作系统(例如Windows)的安装子系统(例如MS安装程序)执行您想要的操作。但这仅在应用程序有/需要完整安装程序时才有效

工作原理如下:当用户卸载时,让安装程序包确保应用程序可执行文件当前未运行。它可以向用户显示它是,并在继续之前要求关闭应用程序,或者在确认后终止其进程。在此之后,它可以删除包安装的所有文件,包括可执行文件


在VB.NET/C中#在VisualStudio中,可以使用自定义安装程序类添加“确保我的可执行文件未运行”逻辑。或者使用第三方安装工具创建可以自动完成此操作的安装程序包。

如果您的目标是运行EXE,然后迟早将其删除,则有两个选项:

(一)

如果指定“MOVEFILE\u DELAY\u UNTIL\u REBOOT”标志,并将“your.exe”重命名为“”,则Windows将在下次重新启动时将其删除

2) 安排一次清理行动

使用命令行AT command、SchTasks.exe或,您可以计划任务“稍后”运行,这会:

%SYSTEMROOT%\CMD.EXE/C RMDIR/S/Q


如果您的目标是运行EXE,然后早晚将其删除,则有两个选项:

(一)

如果指定“MOVEFILE\u DELAY\u UNTIL\u REBOOT”标志,并将“your.exe”重命名为“”,则Windows将在下次重新启动时将其删除

2) 安排一次清理行动

使用命令行AT command、SchTasks.exe或,您可以计划任务“稍后”运行,这会:

%SYSTEMROOT%\CMD.EXE/C RMDIR/S/Q


您可以在AppDomain中启用卷影复制,并让运行时删除程序的缓存副本


请参见

您可以在AppDomain中启用卷影复制,并让运行时删除程序的缓存副本


请看

你能说清楚一点吗,你的意思是从文件系统中删除自己还是从进程列表中删除自己?拉姆先生,我的意思是从文件系统中删除自己。。。非常感谢。“但是我有另一个想法来做这个过程”这个问题很有趣,但很奇怪。你能说清楚一点吗,你是说从文件系统中删除它自己还是从进程列表中删除它自己?拉姆先生,我的意思是从文件系统中删除它自己。。。非常感谢。“但我有另一个想法来做这个过程”有趣的,如果奇怪的问题。哇。第二个环节看起来非常全面。谢谢你+哇。第二个环节看起来非常全面。谢谢你+1编写所述卸载程序时,这实际上是一个常见问题。。它应该删除这个程序,以及它本身。这在使用作为你所使用的操作系统的一部分的安装子系统时不是一个问题,这就是我所理解的(我承认是隐式的)。我将编辑我的回复以使其更清楚。这实际上是编写上述卸载程序时的一个常见问题。。它应该删除这个程序,以及它本身。这在使用作为你所使用的操作系统的一部分的安装子系统时不是一个问题,这就是我所理解的(我承认是隐式的)。我将编辑我的回复,使其成为t