inno-setup – 从Inno Pascal设置DestDir?

inno-setup – 从Inno Pascal设置DestDir?,第1张

概述我想在不同的文件夹中安装文件,具体取决于用户是选择为所有用户安装还是仅为当前用户安装. 我添加了使用CreateInputOptionPage()来创建一个带有两个单选按钮的选项页面. 但是,我的安装程序现在散落着许多重复的行,比如这两个: Source: {#ProjectRootFolder}\License.txt; DestDir: {userdocs}\{#MyAppName}; Che 我想在不同的文件夹中安装文件,具体取决于用户是选择为所有用户安装还是仅为当前用户安装.

我添加了使用CreateinputOptionPage()来创建一个带有两个单选按钮的选项页面.

但是,我的安装程序现在散落着许多重复的行,比如这两个:

Source: {#ProjectRootFolder}\license.txt; DestDir: {userdocs}\{#MyAppname}; Check: NOT IsAllUsersSource: {#ProjectRootFolder}\license.txt; DestDir: {commondocs}\{#MyAppname}; Check:IsAllUsers

是否有更优雅的方式来做上述事情?例如,Pascal代码可以创建一个像#define这样的变量,所以我可以用它代替上面的{userdocs}和{commondocs}吗?

更多详情:

上面的IsAllUsers()函数调用此代码:

function IsAllUsers: Boolean;begin#ifdef UPDATE  Result := AllUsersInRegistryIsTRUE;#else  Result := AllUsersOrCurrentUserPage.Values[1]; // wizard page second radio button#endifend;

和:

function AllUsersInRegistryIsTRUE: Boolean;  // True if preceding install was to all users' documents var  AllUsersRegValue: AnsiString;begin  if RegqueryStringValue(HKEY_LOCAL_MACHINE,'Software\MyApp','AllUsers',AllUsersRegValue) then    Result := (UpperCase(AllUsersRegValue) = 'YES')  else    Result := FALSE;end;
解决方法 这样的西装会适合吗?

[files]Source: {#ProjectRootFolder}\license.txt; DestDir: {code:GetDir}\{#MyAppname};...[Code]var  OptionsPage: TinputOptionWizardPage;procedure InitializeWizard;begin  OptionsPage := CreateinputOptionPage(wpUserInfo,'please select','the kind of installation','and continue..',True,False);  OptionsPage.Add('All users');  OptionsPage.Values[0] := True;  OptionsPage.Add('This user');end;function GetDir(Dummy: string): string;begin  if OptionsPage.Values[0] then    Result := ExpandConstant('{commondocs}')  else    Result := ExpandConstant('{userdocs}');end;
总结

以上是内存溢出为你收集整理的inno-setup – 从Inno Pascal设置DestDir?全部内容,希望文章能够帮你解决inno-setup – 从Inno Pascal设置DestDir?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存