【发布时间】:2014-01-20 03:14:10
【问题描述】:
我有一个要使用 InstallSheild LE 部署的 C# 程序。我知道如何制作 setup.exe 文件来安装应用程序,并且我知道如何创建可以升级当前安装的新安装程序。
目前,我让我的应用程序从安装日志中获取其版本号。它检查它的版本号(最初是空字符串)。如果版本号是一个空字符串,应用程序将转到 %TEMP% 目录并读取最新的安装 LOG 文件,查找表明安装成功的行和带有版本信息的行。版本信息保存在应用程序设置中,用于检测是否有可用升级。为了检测更新,它会将其版本号与更新位置(网络驱动器上)的 setup.exe 的版本号进行比较。
这个实现是可行的,但是,这有几个方面让我担心,我想知道是否有更好的方法来告诉应用程序它是什么版本并保存这些信息(最好不在一个文件中可以删除)。显然,信息需要可更新并在运行之间保留。理想情况下,我希望能够在我的 C# 应用程序中内部设置版本号,而不必对正在创建的文件或文件位置等进行假设来获取它。
想法??
感谢您的建议!
【问题讨论】:
-
您不能将版本设置为您的主应用程序 EXE/DLL 并从那里获取吗?假设您正在对每个新版本的应用程序文件进行版本控制,而不仅仅是安装程序。
标签: c# versioning installshield installshield-le