Помогите с Install Shield for MS VC++ 6.0
От: Русак Дмитрий Федорович США http://github.com/Dziman
Дата: 23.04.02 13:00
Оценка:
Как с помощью этой программки сделать setup? В смысле пошаговое описание plz!!
Re: Помогите с Install Shield for MS VC++ 6.0
От: ppp  
Дата: 25.04.02 08:41
Оценка: 6 (2)
Здравствуйте Русак Дмитрий Федорович, Вы писали:

РДФ> :( Как с помощью этой программки сделать setup? В смысле пошаговое описание plz!!


1) создаешь в InstallShield проект
2) находишь на компе папку проекта, там создаешь свою папочку и скидываешь туда файлы, которые тебе надо инсталлить
3) в проекте есть куча закладок
в закладке Script у тебя должна быть примерно такой скрипт


////////////////////////////////////////////////////////////////////////////////
//                                                                            
//  IIIIIII SSSSSS                                                            
//    II    SS                          InstallShield (R)                     
//    II    SSSSSS      (c) 1996-2000, InstallShield Software Corporation     
//    II        SS      (c) 1990-1996, InstallShield Corporation              
//  IIIIIII SSSSSS                     All Rights Reserved.                   
//                                                                            
//                                                                            
//  This code is generated as a starting setup template.  You should   
//  modify it to provide all necessary steps for your setup.
//                                                                            
//                                                                            
//    File Name:  Setup.rul                                                   
//                                                                            
//  Description:  InstallShield script                                        
//                                                                            
//     Comments:  This template script performs a basic setup. With minor           
//                modifications, this template can be adapted to create       
//                new, customized setups.
//
////////////////////////////////////////////////////////////////////////////////


// Include header files
    
#include "ifx.h" //DO NOT REMOVE

function OnFirstUIBefore() //при первом запуске инсталлятора
    NUMBER  nResult,nSetupType;
    STRING  szTitle, szMsg, svString;
    STRING  szLicenseFile, szQuestion;
    STRING  szFile;
    STRING  szDir;
    STRING  szfolder;
    LIST    list;
begin    
    // TO DO: if you want to enable background, window title, and caption bar title                                                                     

    SetTitle( @PRODUCT_NAME, 0, BACKGROUNDCAPTION );                        
    Enable( FULLWINDOWMODE );                           
    SetColor (BACKGROUND, BK_BLUE);
  
    TARGETDIR = PROGRAMFILES ^@COMPANY_NAME ^@PRODUCT_NAME;    
    szDir = TARGETDIR;
    SHELL_OBJECT_FOLDER = @FOLDER_NAME;

Dlg_Start:
    // beginning of dialogs label

Dlg_SdWelcome:
    szTitle = "";
    szMsg   = "";
    nResult = SdWelcome( szTitle, szMsg );
    if (nResult = BACK) goto Dlg_Start;

Dlg_SdLicense:
    szLicenseFile = SUPPORTDIR ^ "license.txt";
    szTitle    = "";
    szMsg      = "";
    szQuestion = "";
    nResult    = SdLicense( szTitle, szMsg, szQuestion, szLicenseFile );
    if (nResult = BACK) goto Dlg_SdWelcome;

Dlg_SdAskDestPath:                                          
    szTitle = "";
    szMsg   = "";
    nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
    TARGETDIR = szDir;
    if (nResult = BACK) goto Dlg_SdLicense;
                                                       
if (ExistsDir (szDir) != EXISTS) then    
     nResult = SdConfirmNewDir( "", szDir, 0 );
    if (nResult = NO) then
         goto Dlg_SdAskDestPath;
    elseif (nResult < 0) then
         // Report the error; then terminate.
         MessageBox (@CANNOT_CREATE_FOLDER, SEVERE);
         abort;
    endif;
endif;
    
Dlg_SdSelectFolder:
    szfolder = SHELL_OBJECT_FOLDER; 
    szTitle    = "";
    szMsg      = "";
    nResult    = SdSelectFolder( szTitle, szMsg, szfolder );
    SHELL_OBJECT_FOLDER = szfolder;
    if (nResult = BACK) goto Dlg_SdAskDestPath;
   
    // setup default status
    SetStatusWindow(0, "");
    Enable(STATUSEX);
    StatusUpdate(ON, 100);

    return 0;
end;


все строчки вида @PRODUCT_NAME ( c @ перед именем ) — глобальные переменные, их лучше куда-нить вынести. (стандартное место — закладка Recources/String Table) Аналогично можешь написать ф-и
function OnMaintUIBefore() //при повторном запуске инсталлятора (если мы делаем update или repair или remove)
function OnEnd() //если глупый инсталлятор не сделал каких-то важных изменений в системе

Далее заходишь в закладку File Groups
создаешь там новую группу (например, Applications)
добавляешь к ней динамические связи к файлам из директории, которую ты создавал перед этим. Если у тебя файлы должны раскладываться по разным директориям, то лучше создавать еще папочки и к ним цеплять динамические линки
Для каждой созданной группы указываешь Operating System (если зависит от системы), поле Destination — здесь должна быть строчка <TARGETDIR>, если ты планируешь ставить файлы в папку, выбранную пользователем (General Application Destination)

Заходишь в закладку Components. Создаешь там новый компонент (например Program Files). В компонент добавляешь группы инсталляции (например созданную нами группу Applications)
В закладке Setup types добавляешь новый тип (назовем его fullSetup). В этот тип добавляешь наш компонент Program Files

Если тебе надо править реестр, то задаешь свои значения в закладке Resources/Registry sets

надеюсь, моя писанина тебе хоть как-то поможет. Если бы знал, что поможет, написал бы больше. А так звиняйте, хлопцы, у меня дела.
Если ты такой умный, почему ты такой бедный?
Re: Помогите с Install Shield for MS VC++ 6.0
От: goochie  
Дата: 25.04.02 11:09
Оценка:
Здравствуйте Русак Дмитрий Федорович, Вы писали:

РДФ> Как с помощью этой программки сделать setup? В смысле пошаговое описание plz!!



Privet !!!

wosmi ludsche InnoSetup:
http://www.jrsoftware.org/isinfo.php

ili Z-Up maker
http://www.zupmaker.com/

ludsche i udobneje
Re[2]: Помогите с Install Shield for MS VC++ 6.0
От: dimzel  
Дата: 18.08.04 12:57
Оценка:
Здравствуйте, ppp, Вы писали:


Сделал все так как вы написали в предыдущем посте — проект проходит компиляцию и build
но запустить на выполнение не удается данный пункт меню не активен(((

Правда у меня система WinXP а InstallShield 6.1 версии

Заранее спасибо
Дмитрий
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.