我有一个Inno Setup安装程序,为应用程序提供了“为所有用户安装”和“仅为我安装”的选择。如果为所有用户安装,则INI文件放置在commonappdata中,并共享设置(这是客户的要求)。如果为当前用户安装,则将其放置在本地设置appdata中。
一旦应用程序被安装,最干净的方法是让应用程序在运行时“知道”使用了哪个安装选项,从而确定应该从哪里读取和保存INI文件?此外,我希望“默认”文件夹(用户第一次尝试打开数据文件时所在的文件夹)对于单个用户安装来说是MyDocs,对于所有用户安装来说是SharedDocs,并且我假设解决方案也适用于此。
一旦应用程序被安装,最干净的方法是让应用程序在运行时“知道”使用了哪个安装选项,从而确定应该从哪里读取和保存INI文件?此外,我希望“默认”文件夹(用户第一次尝试打开数据文件时所在的文件夹)对于单个用户安装来说是MyDocs,对于所有用户安装来说是SharedDocs,并且我假设解决方案也适用于此。
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{AppID}_is1
。但是,由于有可能一个用户为自己安装,另一个用户为所有用户安装,因此这种方法可能不太可靠。 - Sertac Akyuz[Registry] Root: HKLM; SubKey: SOFTWARE\MyCompany\MyProg; ValueType: string; ValueName: InstallationType; ValueData: "Just me"; check: InstallForJustMe ; Flags: UninsDeleteValue;
将某些内容安装到 HKLM 中?然后无论使用哪种安装选项,所有运行此应用程序的用户都可以看到它。 - rossmcm