Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 64
Благодарности: 16

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
скрипт для возможности - установить и распаковать программу! как у NOD32 Update Viewer
читать дальше »

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=userdocs:My Program.
AppID=NAV

[.Code.]
var
  InstType, UnpackType: TRadioButton;

procedure InitializeWizard();
var
  TypeText: TNewStaticText;
begin
  TypeText := TNewStaticText.Create(WizardForm);
  with TypeText do
  begin
    Left := WizardForm.WelcomeLabel2.Left;
    Top := WizardForm.WelcomeLabel2.Top + WizardForm.WelcomeLabel2.Height - WizardForm.WelcomeLabel2.Height div 4 - ScaleY(20);
    Width := WizardForm.WelcomeLabel2.Width div 2;
    Caption := 'Тип установки:';
    Parent := WizardForm.WelcomePage;
  end;

  InstType := TRadioButton.Create(WizardForm);
  with InstType do
  begin
    Left := WizardForm.WelcomeLabel2.Left + ScaleX(20);
    Top := WizardForm.WelcomeLabel2.Top + WizardForm.WelcomeLabel2.Height - WizardForm.WelcomeLabel2.Height div 4;
    Width := WizardForm.WelcomeLabel2.Width div 2;
    Caption := 'Установить';
    Checked := True;
    Parent := WizardForm.WelcomePage;
  end;

  UnpackType := TRadioButton.Create(WizardForm);
  with UnpackType do
  begin
    Left := WizardForm.WelcomeLabel2.Left + ScaleX(20);
    Top := InstType.Top + InstType.Height + ScaleY(3);
    Width := WizardForm.WelcomeLabel2.Width div 2;
    Caption := 'Распаковать файлы';
    Parent := WizardForm.WelcomePage;
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssDone then
    if UnpackType.Checked then
    begin
      // Если отмечено "Распаковать файлы"
      // Удаляются файлы деинсталлятора и реестра.
      DeleteFile(ExpandConstant('{uninstallexe}'));
      DeleteFile(ExpandConstant('{app}\unins000.dat'));
      RegDeleteKeyIncludingSubkeys(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\NAV_is1');
    end;
end;


в єтом коде все прекрасно, но...
Если до этого установка производилась и были созданы ярлыки в СтартМеню - Все программы
то при распаковке их желательно удалить тоже, уже бьюсь бьюсь - а удалить их не получается....
Помогите!!!
Интересует єта ветка (ProgramData\Microsoft\Windows\Start Menu)

Последний раз редактировалось Kilya, 11-12-2009 в 15:41.


Отправлено: 13:55, 11-12-2009 | #628