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

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

Аватара для Johny777

Ветеран


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

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


Ваня
код:
читать дальше »
Код: Выделить весь код
#define MyAppName "test"

[Setup]
AppName={#MyAppName}
AppVerName={#MyAppName}
DefaultDirName={pf}\{#MyAppName}
UsePreviousAppDir=false
UsePreviousGroup=false
AlwaysShowComponentsList=true
FlatComponentsList=false
UsePreviousSetupType=false
UsePreviousTasks=false
UsePreviousUserInfo=false
DisableStartupPrompt=true
UninstallFilesDir={app}\uninstall
BitmapResource=unins:BloodRain_U.bmp



[Files]
Source: tiger.cjstyles; DestDir: {#SetupSetting("UninstallFilesDir")}
Source: isskin.dll; DestDir: {#SetupSetting("UninstallFilesDir")}



[code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall setuponly';
procedure LoadSkinU(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';


function InitializeSetup:boolean;
begin
    ExtractTemporaryFile('tiger.cjstyles');
    LoadSkin(ExpandConstant('{tmp}\tiger.cjstyles'), '');
    
    Result := True;
end;


procedure InitializeUninstallProgressForm();
begin
  with UninstallProgressForm do
  begin
    Width := ScaleX(755);
    Height := ScaleY(500);
    Position := poScreenCenter;
    CancelButton.SetBounds(ScaleX(650), ScaleY(420), ScaleX(75), ScaleY(25));
    
    with ProgressBar do
    begin
      Parent := UninstallProgressForm
      SetBounds(ScaleX(10), ScaleY(370), ScaleX(727), ScaleY(25));
    end;
      
    //unins background bitmap image
    with TBitmapImage.Create(nil) do
    begin
        Parent := UninstallProgressForm;
        Bitmap.LoadFromResourceName(HInstance, '_IS_UNINS');
        SetBounds(ScaleX(0), ScaleY(0), ScaleX(750), ScaleY(352));
    end;

    OuterNotebook.Hide;
    MainPanel.Hide;
    Bevel1.Hide;
    StatusLabel.Hide;
    BeveledLabel.Hide;
    Bevel.Hide;
  end;
end;

function InitializeUninstall(): Boolean;
begin
    if FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\tiger.cjstyles'), ExpandConstant('{tmp}\tiger.cjstyles'), True) and
       FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\isskin.dll'), ExpandConstant('{tmp}\isskin.dll'), True)
    then
      LoadSkinU(ExpandConstant('{tmp}\tiger.cjstyles'), '');
        
    Result := True;
end;

procedure DeinitializeUninstall();
begin
    if FileExists(ExpandConstant('{tmp}\tiger.cjstyles')) and FileExists(ExpandConstant('{tmp}\isskin.dll')) then UnloadSkinU();
end;

procedure DeinitializeSetup;
begin
    UnloadSkin();
end;

скрин:

архив со всем необходимым:
http://rghost.ru/private/39052497/4e...6d5eb1311ede98

===============================================================

FMA,
тебе не хватет флага
припиши ... ; Flags: foldershortcut

у тебя стоит {commondesktop}
ты уверен, что на общем рабочем столе ?
{userdesktop} - текущего пользователя

а также вот тебе русская справка http://sendfile.su/570136

Последний раз редактировалось Johny777, 05-07-2012 в 17:56.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:31, 05-07-2012 | #382