我正在尝试制作卸载程序。我基本上需要能够删除包含卸载程序的程序文件中的目录。
我正在考虑让卸载程序将自己的副本创建到 temp 文件夹,然后让卸载程序从程序文件夹运行在 temp 中打开卸载程序并在继续卸载的地方关闭自身。
问题是,如何删除临时文件夹中的卸载程序...
我正在尝试制作卸载程序。我基本上需要能够删除包含卸载程序的程序文件中的目录。
我正在考虑让卸载程序将自己的副本创建到 temp 文件夹,然后让卸载程序从程序文件夹运行在 temp 中打开卸载程序并在继续卸载的地方关闭自身。
问题是,如何删除临时文件夹中的卸载程序...
查看:https ://www.catch22.net/tuts/win32/self-deleting-executables
他有多种解决方案——但主要针对 C++ 代码。
我目前正在尝试在 C# 中实现“DELETE_ON_CLOSE”方法。
对所有反对者的评论: MSI 在所有情况下都不能解决这个问题。就我而言,我的应用程序需要安装到一个网络文件夹,任何网络用户都可以在其中运行该应用程序。它还需要支持从任何网络工作站进行升级和卸载 - 不一定是安装应用程序的同一工作站。这意味着我无法将卸载程序注册到本地计算机上的“添加/删除程序”列表中。我必须创建一个卸载到安装文件夹中的 Uninstall.exe。MSI不支持,所以我必须自己写。
尽管我同意每个人都说你不应该这样做,但你可以做的是: