Inno Setup не может получить доступ к файлу cookie RabbitMQ Erlang в папке Windows \ system32 \ config? [Дубликат]

Моя проблема была похожа, но связана с масштабированием текста внутри заголовка. Я попробовал Fit Font, но мне нужно было переключить компрессор, чтобы получить какие-либо результаты, поскольку он решал немного другую проблему, как и Text Flow. Поэтому я написал свой собственный небольшой плагин, который уменьшает размер шрифта, чтобы он соответствовал контейнеру, предполагая, что у вас есть overflow: hidden и white-space: nowrap, так что даже если сокращение шрифта до минимума не позволяет показывать полный заголовок, он просто отключается что он может показать.

(function($) {

  // Reduces the size of text in the element to fit the parent.
  $.fn.reduceTextSize = function(options) {
    options = $.extend({
      minFontSize: 10
    }, options);

    function checkWidth(em) {
      var $em = $(em);
      var oldPosition = $em.css('position');
      $em.css('position', 'absolute');
      var width = $em.width();
      $em.css('position', oldPosition);
      return width;
    }

    return this.each(function(){
      var $this = $(this);
      var $parent = $this.parent();
      var prevFontSize;
      while (checkWidth($this) > $parent.width()) {
        var currentFontSize = parseInt($this.css('font-size').replace('px', ''));
        // Stop looping if min font size reached, or font size did not change last iteration.
        if (isNaN(currentFontSize) || currentFontSize <= options.minFontSize ||
            prevFontSize && prevFontSize == currentFontSize) {
          break;
        }
        prevFontSize = currentFontSize;
        $this.css('font-size', (currentFontSize - 1) + 'px');
      }
    });

  };

})(jQuery);
3
задан Martin Prikryl 19 January 2016 в 15:53
поделиться

1 ответ

Файл, вероятно, существует в C:\Windows\SysWOW64.

Inno Setup - это 32-разрядное приложение. Таким образом, по умолчанию для запуска пакетного файла он выполняет 32-битный cmd.exe.

32-битный cmd.exe при запросе C:\Windows\System32, получает перенаправленный к C:\Windows\SysWOW64.

Прочитайте о проблемах с 32-разрядными и 64-разрядными установками .


Если вы используете командный файл с использованием записи в секции [Run], используйте флаг 64bit , чтобы принудительно выполнить 64-битный cmd.exe:

[Run]
Filename: "{app}\bin\Icacls\cacls.bat"; Parameters: """{app}"""; Flags: 64bit
Filename: "{app}\Install\psql_init.bat"; Parameters: """{app}"""; Flags: 64bit

Хотя если это 32-разрядная DLL, вы действительно хотите ее в C:\Windows\SysWOW64.

5
ответ дан Martin Prikryl 20 August 2018 в 09:30
поделиться
  • 1
    ИДЕАЛЬНО!!!! Да, ты прав. Он был перенаправлен. Мне нужно скопировать 64-битную версию файла. Теперь мой пакетный файл обнаруживает, что он не существует и его удалось скопировать! Огромное спасибо!! – Sigularity 19 January 2016 в 15:54
Другие вопросы по тегам:

Похожие вопросы: