.NET 打包问题 获取旧版安装路径??
简单点,就是升级安装时,使用旧版安装路径作为默认路径...
如果是全新安装就使用 [ProgramFilesFolder][Manufacturer]\[ProductName]
也就是动态设置文件系统的 DefaultLocation 属性.
我的做法是:
1.第一次安装的时候,将[TARGETDIR]写入注册表... (方法如下)
* 右键点击安装项目->视图->注册表: HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE\Software\[Manufacturer]\
* 新建->字符串: (Name): InstallLocation-> (Value): [TARGETDIR]
2.升级安装时,读取注册表信息,将信息作为默认安装路径... (方法如下)
* 右键点击安装项目->视图->启动条件->搜索目标计算机->右键->添加注册表搜索
* 设置属性:
(Property): REGPATH
(RegKey): Software\[Manufacturer]
(Root): vsdrrHKLM
(Value): InstallLocation
* 右键点击安装项目->视图->文件系统->应用程序文件夹
* 设置属性: (DefaultLocation): [REGPATH]
这样设置,升级安装时都能将旧版安装路径作为默认路径,
不过第一次安装就读不到 REGPATH 值了,默认路径会显示为安装程序所在的盘符,如 E:\
我想要实现的效果是,首次安装,默认路径为: [ProgramFilesFolder][Manufacturer]\[ProductName]
升级安装,默认路径为,旧版安装路径,请问有什么好方法...
还有一个问题,我在其他地方看到:
VS自带的打包工具会自动将安装路径写入:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode]\InstallLocation
但我做的安装包,安装后该键值都是空的...为什么?
PS: 刚注册的帐号,第一帖,分不多...