And*_*rei 7 .net c# deployment installer upgrade
所以,我有这个应用程序,我们正在生产进一步的开发版本.
如果用户卸载了应用程序(例如,使用"添加/删除程序"),那么我希望应用程序删除文件系统中包含应用程序相关信息的某个文件夹.
但是,如果应用程序已升级(通过下载此应用程序的较新安装程序并安装它),那么我希望它保留该文件夹.
我(目前)的印象是,无法区分卸载/安装以及仅将应用程序从一个版本更新到另一个版本,因为.NET部署项目将升级视为另一个卸载/安装过程,但是应该可能以某种方式.
感谢您抽出时间和我可能获得的任何答案.
我最终还找到了一种方法来检查应用程序是否正在升级或者是否是全新安装:
LocalMachine\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{应用程序的 GUID}
卸载应用程序后,该信息将被删除。
RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{AppGUIDHere}");
string version = (string)regKey.GetValue("DisplayVersion");
Run Code Online (Sandbox Code Playgroud)
该值将包含您计算机上当前安装的版本。如果此安装的版本小于您尝试安装的应用程序的版本,则您将遵循升级的逻辑路径
如果您在注册表中找不到该注册表项下的任何内容,则意味着这是全新安装(计算机上在此安装之前没有其他应用程序)。在这里,您遵循安装的另一个逻辑路径
希望这对某人有帮助。
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |