gpt4 book ai didi

c# - 升级应用程序时安装到同一路径

转载 作者:太空狗 更新时间:2023-10-30 00:11:34 26 4
gpt4 key购买 nike

我有一个要实现自动更新的应用程序。我有一个程序检查的 Web 服务,如果它需要升级,它会下载并运行新的安装程序(Visual Studio 2005 安装项目),然后程序重新启动。一切都很好。

但是如何确保安装程序中的安装路径默认为用户最初安装程序的相同路径?

例如,如果用户将其从程序文件更改为 C:\SomeFolder,我如何让安装程序检测到它并将其安装路径更改为 C:\SomeFolder 而不是程序文件?或者如果用户选择为“当前用户”而不是“所有用户”安装它?

最佳答案

-右击安装项目
-查看
-注册表
- 在左侧,展开 HKey_Local_Machine 和 Software 并单击 Manufacturer 节点
- 在右侧,右键单击并添加字符串注册表项
- 将注册表项命名为 InstallDir
- 设置它的值 [TARGETDIR]

enter image description here

安装程序后,您可以看到 InstallDir regkey 包含的位置。您的更新程序应用程序可以使用相同的路径。

enter image description here

通常,“Just Me”和“Everyone”之间的唯一区别是创建的快捷方式的位置。您可以在安装期间运行 Process Monitor 并亲自查看。

编辑:

更新应用程序可以通过这些步骤使用 InstallDir RegistryKey。引用:How to: Use a Registry Launch Condition to Specify a Target Directory

-右键单击更新程序的安装项目
-查看
-发射条件
- 添加搜索注册表键
- 将属性指定为 SEARCHFORINSTALLDIR
- 将 RegKey 指定为 SOFTWARE\ManufacturerName
-让根指向 HKLM
- 将值指定为 InstallDir

enter image description here

-添加启动条件
-指定条件为SEARCHFORINSTALLDIR
-留下InstallUrl和Message

enter image description here

-右击安装项目
-查看
-文件系统
-选择应用文件夹
-按F4查看应用程序文件夹的属性
- 将默认位置指定为 [SEARCHFORINSTALLDIR]

enter image description here

现在,当您为更新程序构建安装程序包并运行它时,它将为您提供安装路径的 InstallDir 注册表项中的值。

如果您希望禁用“文件夹文本框”和“浏览”按钮以防止用户更改更新程序安装路径,您可以使用 Orca.exe . Orca 是一个数据库表编辑器,用于创建和编辑 Windows Installer 程序包和合并模块。然后只需按照此 setup project, fixing the location of installed kit


另一种方法是遵循 Aaron Stebner 的 How to modify the default install path in an MSI-based setup based on a registry value

关于c# - 升级应用程序时安装到同一路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com