小编Ben*_*Dev的帖子

Windows 10上没有显示Inno Setup开始菜单卸载快捷方式

我在设置中创建的“开始”菜单卸载快捷方式似乎有一个特定于Windows 10的问题。快捷方式根本没有显示。
但是,也会显示我创建的其他快捷方式...

这是值DefaultGroupName

DefaultGroupName={#MyAppPublisher}\MyCompany\MySoftwareName
Run Code Online (Sandbox Code Playgroud)

这是本[Icons]节中有关快捷方式的条目:

[Icons]
Name: "{group}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\MyExeName.exe"; WorkingDir: "{app}"
Name: "{commondesktop}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\MyExeName.exe"; WorkingDir: "{app}"; IconFilename: "{app}\MyExeName.exe"
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\MyExeName.exe"; WorkingDir: "{app}"; Tasks: quicklaunchicon
Name: "{group}\{cm:UninstallProgram, {#MyAppName} {#MyAppVersion}}"; Filename: "{uninstallexe}"; WorkingDir: "{app}"; IconFilename: "{app}\Remove.ico"
Name: "{group}\{cm:SHORTCUT_SAV}"; Filename: "{code:GetDataDir}"
Run Code Online (Sandbox Code Playgroud)

我也尝试了一个简单的条目:

Name: "{group}\Uninstall My Program"; Filename: "{uninstallexe}"
Run Code Online (Sandbox Code Playgroud)

但是快捷方式仍然没有显示。

请注意,这在任何早期版本的Windows中都可以正常工作...

您对此有什么想法吗?我已经搜索过,但是没有找到与此特定问题相关的任何主题。

inno-setup uninstall shortcut startmenu

5
推荐指数
1
解决办法
3897
查看次数

Inno Setup ExtractTemporaryFile 导致向导冻结

我根据用户的选择制作了自定义页面来管理特定的 redist 工具安装。

如果用户想要或不安装这些工具,这些工具会链接到用户选中的复选框。然后出现一个页面,向用户展示每个工具的安装进度。

我在这里遇到的问题是,只有在ExtractTemporaryFile工具的第一个设置完成后才会显示进度页面,显示最后一个页面就好像它已经冻结一样。

我必须让进度页面在ExtractTemporaryFile发生之前显示的唯一方法是MsgBox在任何安装函数之前放置一个。但即使在这种情况下,ExtractTemporaryFile启动时,进度条动画也会冻结,直到ExtractTemporaryFile完成...

这是执行此操作的代码部分:

procedure CurPageChanged(CurPageID: Integer);
begin
  If CurPageID=PageInstallationPersonnalisee.ID then
    begin
      ProgressBarLabelPageInstPerso.Caption := 'Initialisation...';
      if InstallTool1 = True then
        begin
          ProgressBarLabelPageInstPerso.Caption := 'Installing InstallTool1...';
          F_InstallTool1();
        end;
      if InstallTool2 = True then
        begin
          ProgressBarLabelPageInstPerso.Caption := 'Installing InstallTool2...';
          F_InstallTool2();
        end;
      if InstallTool3 = True then
        begin
          ProgressBarLabelPageInstPerso.Caption := 'Installing InstallTool3...';
          F_InstallTool3();
        end;

      ProgressBarPageInstPerso.Style := npbstMarquee;
      //ProgressBarPageInstPerso.Style := npbstNormal;
      ProgressBarPageInstPerso.Position := 100;

      CancelWithoutPrompt:=True;
      WizardForm.Close;
    end;
end;
Run Code Online (Sandbox Code Playgroud)

请注意,ExtractTemporaryFile()是在每个 …

installation inno-setup freeze pascalscript

5
推荐指数
1
解决办法
1951
查看次数

如何在 Inno Setup TNewCheckListBox 中获取复选框或单选按钮的值?

我认为这很容易编码,但事实是我最终面临着获取TNewCheckListBox.

我尝试将复选框和单选按钮设置为全局实例,以便我可以在NextButtonClick事件中轻松访问它。

但在这个示例测试中我得到

无法调用过程。

[Code]
var
  PageChoixComposants: TWizardPage;
  CB1, CB2: TNewCheckBox;
  OB1, OB2: TNewRadioButton; 

procedure InitializeWizard;
var
  CheckListBox: TNewCheckListBox;
begin
  PageChoixComposants := CreateCustomPage(
    wpWelcome, 'Custom wizard page controls', 'TNewCheckListBox');

  CheckListBox := TNewCheckListBox.Create(PageChoixComposants);
  CheckListBox.Width := PageChoixComposants.SurfaceWidth;
  CheckListBox.Height := ScaleY(97);
  CheckListBox.Flat := True;
  CheckListBox.Parent := PageChoixComposants.Surface;
  CB1 := CheckListBox.AddCheckBox('CB1', '', 0, True, True, False, True, nil);
  OB1 := CheckListBox.AddRadioButton('CB1 OB1', '', 1, True, True, nil);
  OB2 := CheckListBox.AddRadioButton('CB1 OB2', '', 1, False, True, nil);
  CB2 := CheckListBox.AddCheckBox('CB2', '', …
Run Code Online (Sandbox Code Playgroud)

checkbox inno-setup checkboxlist radio-button pascalscript

3
推荐指数
1
解决办法
2458
查看次数