반응형

https://technet.microsoft.com/ko-kr/library/cc732742(v=ws.10).aspx

 

Start or Stop an Application Pool (IIS 7)

Start or Stop an Application Pool (IIS 7) 07/02/2012 2 minutes to read In this article --> Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista Stopping an application pool causes the Windows Process Activation Service (WAS) to

docs.microsoft.com

 

반응형

'Tip & Tech > Windows' 카테고리의 다른 글

iis 동접 확인 방법  (0) 2019.07.15
CORS IIS7  (0) 2019.07.15
CentOS Redmine(레드마인) 설치  (0) 2019.07.15
MSSQL에서 SP 내용 알아내는 법  (0) 2019.07.15
IIS FTP passive로 List가 되지 않을 때  (0) 2019.07.15
반응형

iis 동접 확인 방법윈도우서버에서 현재 웹 동시접속자 정보를 확인할수 있는 방법으로 netstat

명령을 사용하여 간단하게 카운트 할 수 있다.

시작 - 실행 - cmd

c:>netstat -ano | find /c "80" 입력하면 현재 접속자 수를 확인가능하다



c:> netstat -an | find "80" | find /c "ESTABLISHED"

반응형

'Tip & Tech > Windows' 카테고리의 다른 글

IIS 응용프로그램 풀 재시작 커멘드  (0) 2019.07.15
CORS IIS7  (0) 2019.07.15
CentOS Redmine(레드마인) 설치  (0) 2019.07.15
MSSQL에서 SP 내용 알아내는 법  (0) 2019.07.15
IIS FTP passive로 List가 되지 않을 때  (0) 2019.07.15
반응형

CORS on IIS7

For Microsoft IIS7, merge this into the web.config file at the root of your application or site: 
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>

If you don't have a web.config file already, or don't know what one is, just create a new file called web.config containing the snippet above

반응형
반응형

https://www.server-world.info/en/note?os=CentOS_7&p=redmine

반응형

'Tip & Tech > Windows' 카테고리의 다른 글

iis 동접 확인 방법  (0) 2019.07.15
CORS IIS7  (0) 2019.07.15
MSSQL에서 SP 내용 알아내는 법  (0) 2019.07.15
IIS FTP passive로 List가 되지 않을 때  (0) 2019.07.15
WindowsXP 자동 업데이트 후 재시작 막기.  (0) 2010.12.16
반응형


MSSQL 에서 SP 내용 알아내는 법


sp_helptext storedProcedureName

 * 주의사항
  sp_helptext 를 사용할 때는 DB 를 지정한 후에 사용해야 한다. 

반응형

'Tip & Tech > Windows' 카테고리의 다른 글

CORS IIS7  (0) 2019.07.15
CentOS Redmine(레드마인) 설치  (0) 2019.07.15
IIS FTP passive로 List가 되지 않을 때  (0) 2019.07.15
WindowsXP 자동 업데이트 후 재시작 막기.  (0) 2010.12.16
MSSQL Query : UnixTime >> DateTime  (0) 2010.10.21
반응형

공유기에 ftp pasv설정이 없으면 dmz로 바꾸시는게 거의 답입니다. (pasv가 서버->인터넷으로 tcp 1024-65535입니다....)

- 아마존 시큐리티그룹에 해당 IP Inbound 로 1024-65535 레인지 허용해야 함

반응형
반응형


$> net stop wuauserv


다시 킬려면

$> net start wuauserv
반응형
반응형

declare @regdate = 1069807106
DATEADD(hh, 9, DATEADD(s, @regdate, '1970-01-01'))

유닉스타임을 timestamp로 .(mssql에선 datetime이지..)
반응형
반응형

1. 기본

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: DialogShowSdRegisterUserEx                                      //
//                                                                           //
//  Purpose: This function displays the user registration dialog.            //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdRegisterUserEx()
    NUMBER nResult;
    STRING szTitle, szMsg;
    STRING firl, endl;
    NUMBER sum;
    NUMBER firn, endn;
begin


  svName    = "";
  svCompany = "";

  szTitle = "";
  szMsg   = "";
  nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );

  MessageBox(svSerial, 0);


    // s/n 체크
    // 10자리이어야 하며 앞 두자리 / 뒷 두자리 의 합이 33의 배수이어야만 한다.
    // 10자리 이상은 추가 코딩으로 가능.

    firl = "";
    endl = "";
    StrSub(firl, svSerial,  0, 2);
    StrSub(endl, svSerial, StrLength(svSerial)-2, StrLength(svSerial));
    MessageBox(firl, 0);
    MessageBox(endl, 0);


    if(StrLength(svSerial) != 10) then
        MessageBox("유효하지 않은 제품번호 입니다.\n설치를 종료합니다.", 0);
        abort;
    endif;

    //sum = StrToNum(firl) + StrToNum(endl);
    StrToNum(firn, firl);
    StrToNum(endn, endl);
    sum = firn + endn;

    if(sum % 33 != 0) then
        MessageBox("유효하지 않은 제품번호 입니다.\n설치를 종료합니다.", 0);
        abort ;
    endif;


  return nResult;
end;


2. InstallShield 7 developer 버전 용.

////////////////////////////////////////////////////////////////////////////////
//                                                                            
//  File Name:        Setup.rul                                                  
//                                                                            
//  Description:        InstallShield script                                        
//                                                                            
//  Comments:        This script was generated based on the selections you made in
//                   the Project Wizard.  Refer to the help topic entitled "Modify      
//                   the script that the Project Wizard generates" for information
//                                on possible next steps.
//
////////////////////////////////////////////////////////////////////////////////


// Include header files
    
#include "ifx.h"
    
////////////////////// string defines ////////////////////////////

//////////////////// installation declarations ///////////////////

// ----- DLL function prototypes -----


    // your DLL function prototypes


// ---- script function prototypes -----


    // your script function prototypes

    // your global variables



//////////////////////////////////////////////////////////////////////////////
//                                                                          
//  FUNCTION:   OnFirstUIBefore                                            
//                                                                          
//  EVENT:      FirstUIBefore event is sent when installation is run for the first
//              time on given machine. In the handler installation usually displays
//              UI allowing end user to specify installation parameters. After this
//              function returns, FeatureTransferData is called to perform file
//              transfer.
//                                                                          
///////////////////////////////////////////////////////////////////////////////
function OnFirstUIBefore()
    number  nResult,nSetupType;
    string  szTitle, szMsg;
    string  szLicenseFile, szQuestion;
    string  szName, szCompany;
    string  szTargetPath;
    string  szDir;
    string  szfolder;
    string  szFeatures, szTargetdir;
    number  nLevel;
    LIST    listStartCopy;
    number  nvSize;
    number  nUser;    
    string svSerial;
begin        
    // TO DO: if you want to enable background, window title, and caption bar title                                                                    
    // SetTitle( @PRODUCT_NAME, 24, WHITE );                                        
    // SetTitle( @PRODUCT_NAME, 0, BACKGROUNDCAPTION );                           
    // Enable( FULLWINDOWMODE );                                                  
    // Enable( BACKGROUND );                                                          
    // SetColor(BACKGROUND,RGB (0, 128, 128));                                          
    
    SHELL_OBJECT_FOLDER = @PRODUCT_NAME;
    
    nSetupType = TYPICAL;        
    szDir = INSTALLDIR;
    szName    = "";
    szCompany = "";

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_SdCustomerInformation:
    szMsg   = "";
    szTitle = "";                                                                
    nResult = SdCustomerInformationEx( szTitle, szName, szCompany, svSerial, nUser );    
   //nResult = SdCustomerInformation( szTitle, szName, szCompany, nUser );
    if (nResult = BACK) goto Dlg_SdLicense;

Dlg_SdAskDestPath:
    szTitle = "";
    szMsg   = "";
    nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
    INSTALLDIR = szDir;
    if (nResult = BACK) goto Dlg_SdCustomerInformation;

Dlg_SetupType:  
    szTitle    = "";
    szMsg      = "";
    nResult = SetupType ( szTitle , szMsg , "" , nSetupType , 0 );
    if (nResult = BACK) then
        goto Dlg_SdAskDestPath;
    else
        nSetupType = nResult;
        if (nSetupType != CUSTOM) then
               szTargetPath = INSTALLDIR;
               nvSize = 0;
               FeatureCompareSizeRequired(MEDIA,szTargetPath,nvSize);
               if (nvSize != 0) then      
                       MessageBox( szSdStr_NotEnoughSpace, WARNING );
                   goto Dlg_SetupType;
            endif;
        endif;  
    endif;

Dlg_SdFeatureTree:
    if ((nResult = BACK) && (nSetupType != CUSTOM)) goto Dlg_SetupType;
    szTitle    = "";
    szMsg      = "";
    szTargetdir = INSTALLDIR;
    szFeatures = "";
    nLevel = 2;
    if (nSetupType = CUSTOM) then
                    nResult = SdFeatureTree(szTitle, szMsg, szTargetdir, szFeatures, nLevel);
                    if (nResult = BACK) goto Dlg_SetupType;  
    endif;

Dlg_SdSelectFolder:
    szfolder = SHELL_OBJECT_FOLDER;
    szTitle    = "";
    szMsg      = "";
    nResult    = SdSelectFolder( szTitle, szMsg, szfolder );
    SHELL_OBJECT_FOLDER = szfolder;
    if (nResult = BACK) goto Dlg_SdFeatureTree;
  
Dlg_SdStartCopy:
    szTitle = "";
    szMsg   = "";
    listStartCopy = ListCreate( STRINGLIST );
    //The following is an example of how to add a string(szName) to a list(listStartCopy).
    //eg. ListAddString(listStartCopy,szName,AFTER);
    nResult = SdStartCopy( szTitle, szMsg, listStartCopy );        
    ListDestroy(listStartCopy);
    if (nResult = BACK) goto Dlg_SdSelectFolder;

    Enable(STATUSEX);

    return 0;
end;

///////////////////////////////////////////////////////////////////////////////
//
//  FUNCTION:   OnMaintUIBefore
//
//  EVENT:      MaintUIBefore event is sent when end user runs installation that
//              has already been installed on the machine. Usually this happens
//              through Add/Remove Programs applet. In the handler, installation
//              usually displays UI allowing end user to modify existing installation
//              or uninstall application. After this function returns,
//              FeatureTransferData is called to perform file transfer.
//
///////////////////////////////////////////////////////////////////////////////
function OnMaintUIBefore()
    NUMBER nResult, nType;
    STRING szTitle, szMsg, svDir, svResult, szCaption;
begin
    // TO DO: if you want to enable background, window title, and caption bar title                                                                   
    // SetTitle( @PRODUCT_NAME, 24, WHITE );                                        
    // SetTitle( @PRODUCT_NAME, 0, BACKGROUNDCAPTION );                          
    // SetColor(BACKGROUND,RGB (0, 128, 128));                                        
    // Enable( FULLWINDOWMODE );                                                
    // Enable( BACKGROUND );                                                        
        
Dlg_Start:
    Disable(BACKBUTTON);
    nType = SdWelcomeMaint(szTitle, szMsg, MODIFY);
    Enable(BACKBUTTON);

    if (nType = REMOVEALL) then
        svResult = SdLoadString(IFX_MAINTUI_MSG);
        szCaption = SdLoadString(IFX_ONMAINTUI_CAPTION);
        nResult = SprintfBox(MB_OKCANCEL,szCaption,"%s",svResult);
        if (nResult = IDCANCEL) goto Dlg_Start;
    endif;

    nResult = NEXT;

Dlg_SdFeatureTree:
    if (nType = MODIFY) then
        szTitle = "";
        szMsg = "";
        nResult = SdFeatureTree(szTitle, szMsg, TARGETDIR, "", 2);
        if (nResult = BACK) goto Dlg_Start;
    endif;

    switch(nType)
        case REMOVEALL: ComponentRemoveAll();
        case REPAIR:    ComponentReinstall();
    endswitch;
    
    Enable(STATUSEX);
end;

3. InstallShield For VC++ 6.0 용 풀소스  
////////////////////////////////////////////////////////////////////////////////
//
//  IIIIIII SSSSSS
//    II    SS                          InstallShield (R)
//    II    SSSSSS      (c) 1996-1997, 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 on a
//                Windows 95 or Windows NT 4.0 platform. With minor
//                modifications, this template can be adapted to create
//                new, customized setups.
//
////////////////////////////////////////////////////////////////////////////////


  // Include header file
#include "sdlang.h"
#include "sddialog.h"

////////////////////// string defines ////////////////////////////

#define UNINST_LOGFILE_NAME      "Uninst.isu"

//////////////////// installation declarations ///////////////////

  // ----- DLL prototypes -----


     // your DLL prototypes


  // ---- script prototypes -----

     // generated
     prototype ShowDialogs();
     prototype MoveFileData();
     prototype HandleMoveDataError( NUMBER );
     prototype ProcessBeforeDataMove();
     prototype ProcessAfterDataMove();
     prototype SetupRegistry();
     prototype SetupFolders();
     prototype CleanUpInstall();
     prototype SetupInstall();
     prototype SetupScreen();
     prototype CheckRequirements();
     prototype DialogShowSdWelcome();
     prototype DialogShowSdRegisterUserEx();
     prototype DialogShowSdAskDestPath();
     prototype DialogShowSdSelectFolder();
     prototype DialogShowSdFinishReboot();

     // your prototypes


  // ----- global variables ------

     // generated
     BOOL        bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup;
     STRING      svDir;
     STRING      svName, svCompany, svSerial;
     STRING      szAppPath;
     STRING      svSetupType;


     // your global variables


///////////////////////////////////////////////////////////////////////////////
//
//   MAIN PROGRAM
//
//      The setup begins here by hiding the visible setup
//      window.  This is done to allow all the titles, images, etc. to
//      be established before showing the main window.  The following
//      logic then performs the setup in a series of steps.
//
///////////////////////////////////////////////////////////////////////////////
program
    Disable( BACKGROUND );

    CheckRequirements();

    SetupInstall();

    SetupScreen();

    if (ShowDialogs()<0) goto end_install;

    if (ProcessBeforeDataMove()<0) goto end_install;

    if (MoveFileData()<0) goto end_install;

    if (ProcessAfterDataMove()<0) goto end_install;

    if (SetupRegistry()<0) goto end_install;

    if (SetupFolders()<0) goto end_install;


  end_install:

    CleanUpInstall();

     // If an unrecoverable error occurred, clean up the partial installation.
     // Otherwise, exit normally.

    if (bInstallAborted) then
        abort;
    endif;

endprogram

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  ShowDialogs                                                    //
//                                                                           //
//  Purpose:  This function manages the display and navigation               //
//            the standard dialogs that exist in a setup.                    //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ShowDialogs()
    NUMBER  nResult;
begin

    Dlg_Start:
        // beginning of dialogs label

    Dlg_SdWelcome:
        nResult = DialogShowSdWelcome();
        if (nResult = BACK) goto Dlg_Start;

    Dlg_SdRegisterUserEx:
        nResult = DialogShowSdRegisterUserEx();
        if (nResult = BACK) goto Dlg_SdWelcome;

    Dlg_SdAskDestPath:
        nResult = DialogShowSdAskDestPath();
        if (nResult = BACK) goto Dlg_SdRegisterUserEx;

    Dlg_SdSelectFolder:
        nResult = DialogShowSdSelectFolder();
        if (nResult = BACK) goto Dlg_SdAskDestPath;

    return 0;

end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: ProcessBeforeDataMove                                           //
//                                                                           //
//  Purpose: This function performs any necessary operations prior to the    //
//           actual data move operation.                                     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ProcessBeforeDataMove()
    STRING svLogFile;
    NUMBER nResult;
begin

  InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );

  svLogFile = UNINST_LOGFILE_NAME;

  nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
  if (nResult < 0) then
      MessageBox( @ERROR_UNINSTSETUP, WARNING );
  endif;

  szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir

  if ((bIs32BitSetup) && (bIsShellExplorer)) then
      RegDBSetItem( REGDB_APPPATH, szAppPath );
      RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
      RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
  endif;

  // TODO : update any items you want to process before moving the data
  //

  return 0;
end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  MoveFileData                                                   //
//                                                                           //
//  Purpose:  This function handles the data movement for                    //
//            the setup.                                                     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function MoveFileData()
    NUMBER nResult, nDisk;
begin

  nDisk = 1;
  SetStatusWindow( 0, "" );
  Disable( DIALOGCACHE );
  Enable( STATUS );
  StatusUpdate( ON, 100 );
  nResult = ComponentMoveData( MEDIA, nDisk, 0 );

  HandleMoveDataError( nResult );

  Disable( STATUS );

  return nResult;

end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: HandleMoveDataError                                             //
//                                                                           //
//  Purpose: This function handles the error (if any) during the move data   //
//           operation.                                                      //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function HandleMoveDataError( nResult )
    STRING szErrMsg, svComponent , svFileGroup , svFile;
begin

  svComponent = "";
  svFileGroup = "";
  svFile = "";

  switch (nResult)
  case 0:
       return 0;
  default:
       ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult );
       szErrMsg = @ERROR_MOVEDATA  + "\n\n" +
                  @ERROR_COMPONENT + " " + svComponent + "\n" +
                  @ERROR_FILEGROUP + " " + svFileGroup + "\n" +
                  @ERROR_FILE      + " " + svFile;
       SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
       bInstallAborted = TRUE;
       return nResult;
  endswitch;

end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: ProcessAfterDataMove                                            //
//                                                                           //
//  Purpose: This function performs any necessary operations needed after    //
//           all data has been moved.                                        //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ProcessAfterDataMove()
begin

  // TODO : update self-registered files and other processes that
  //        should be performed after the data has been moved.


  return 0;
end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: SetupRegistry                                                   //
//                                                                           //
//  Purpose: This function makes the registry entries for this setup.        //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function SetupRegistry()
NUMBER nResult;

begin

  // TODO : Add all your registry entry keys here
  //
  //
  //    RegDBCreateKeyEx, RegDBSetKeyValueEx....
  //

  nResult = CreateRegistrySet( "" );

  return nResult;
end;

///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupFolders
//
//  Purpose: This function creates all the folders and shortcuts for the
//           setup.  This includes program groups and items for Windows 3.1.
//
///////////////////////////////////////////////////////////////////////////////
function SetupFolders()
NUMBER nResult;

begin


  // TODO : Add all your folder (program group) along with shortcuts (program items)
  //
  //
  //    CreateProgramFolder, AddFolderIcon....
  //

  nResult = CreateShellObjects( "" );

  return nResult;
end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: CleanUpInstall                                                  //
//                                                                           //
//  Purpose: This cleans up the setup.  Anything that should                 //
//           be released or deleted at the end of the setup should           //
//           be done here.                                                   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function CleanUpInstall()
begin


  if (bInstallAborted) then
      return 0;
  endif;

  DialogShowSdFinishReboot();

  if (BATCH_INSTALL) then // ensure locked files are properly written
      CommitSharedFiles(0);
  endif;

  return 0;
end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: SetupInstall                                                    //
//                                                                           //
//  Purpose: This will setup the installation.  Any general initialization   //
//           needed for the installation should be performed here.           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function SetupInstall()
begin

  Enable( CORECOMPONENTHANDLING );

  bInstallAborted = FALSE;

  if (bIs32BitSetup) then
      svDir = PROGRAMFILES ^ @COMPANY_NAME ^ @PRODUCT_NAME;
  else
      svDir = PROGRAMFILES ^ @COMPANY_NAME16 ^ @PRODUCT_NAME16; // use shorten names
  endif;

  TARGETDIR  = svDir;

  SdProductName( @PRODUCT_NAME );

  Enable( DIALOGCACHE );

  return 0;
end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  SetupScreen                                                    //
//                                                                           //
//  Purpose:  This function establishes  the screen look.  This includes     //
//            colors, fonts, and text to be displayed.                       //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function SetupScreen()
begin

  Enable( FULLWINDOWMODE );
  Enable( INDVFILESTATUS );
  SetTitle( @TITLE_MAIN, 24, WHITE );

  SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.

  Enable( BACKGROUND );

  Delay( 1 );
end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  CheckRequirements                                              //
//                                                                           //
//  Purpose:  This function checks all minimum requirements for the          //
//            application being installed.  If any fail, then the user       //
//            is informed and the setup is terminated.                       //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function CheckRequirements()
    NUMBER  nvDx, nvDy, nvResult;
    STRING  svResult;

begin

  bWinNT           = FALSE;
  bIsShellExplorer = FALSE;

  // Check screen resolution.
  GetExtents( nvDx, nvDy );

  if (nvDy < 480) then
      MessageBox( @ERROR_VGARESOLUTION, WARNING );
      abort;
  endif;

  // set 'setup' operation mode
  bIs32BitSetup = TRUE;
  GetSystemInfo( ISTYPE, nvResult, svResult );
  if (nvResult = 16) then
      bIs32BitSetup = FALSE; // running 16-bit setup
      return 0; // no additional information required
  endif;

  // --- 32-bit testing after this point ---

  // Determine the target system's operating system.
  GetSystemInfo( OS, nvResult, svResult );

  if (nvResult =  IS_WINDOWSNT) then
      // Running Windows NT.
      bWinNT = TRUE;

      // Check to see if the shell being used is EXPLORER shell.
      if (GetSystemInfo( OSMAJOR, nvResult, svResult ) = 0) then
          if (nvResult >= 4) then
              bIsShellExplorer = TRUE;
          endif;
      endif;

  elseif (nvResult = IS_WINDOWS95 ) then
      bIsShellExplorer = TRUE;

  endif;

end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: DialogShowSdWelcome                                             //
//                                                                           //
//  Purpose: This function handles the standard welcome dialog.              //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdWelcome()
    NUMBER nResult;
    STRING szTitle, szMsg;
begin

  szTitle = "";
  szMsg   = "";
  nResult = SdWelcome( szTitle, szMsg );

  return nResult;
end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: DialogShowSdRegisterUserEx                                      //
//                                                                           //
//  Purpose: This function displays the user registration dialog.            //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdRegisterUserEx()
    NUMBER nResult;
    STRING szTitle, szMsg;
    STRING firl, endl;
    NUMBER sum;
    NUMBER firn, endn;
begin


  svName    = "";
  svCompany = "";

  szTitle = "";
  szMsg   = "";
  nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );

  //MessageBox(svSerial, 0);


    // s/n 체크
    // 10자리이어야 하며 앞 두자리 / 뒷 두자리 의 합이 33의 배수이어야만 한다.
    // 10자리 이상은 추가 코딩으로 가능.

    firl = "";
    endl = "";
    StrSub(firl, svSerial,  0, 2);
    StrSub(endl, svSerial, StrLength(svSerial)-2, StrLength(svSerial));
   // MessageBox(firl, 0);
   // MessageBox(endl, 0);


    if(StrLength(svSerial) != 10) then
        MessageBox("유효하지 않은 제품번호 입니다.\n설치를 종료합니다.", 0);
        abort;
    endif;

    //sum = StrToNum(firl) + StrToNum(endl);
    StrToNum(firn, firl);
    StrToNum(endn, endl);
    sum = firn + endn;

    if(sum % 33 != 0) then
        MessageBox("유효하지 않은 제품번호 입니다.\n설치를 종료합니다.", 0);
        abort ;
    endif;


  return nResult;
end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: DialogShowSdAskDestPath                                         //
//                                                                           //
//  Purpose: This function asks the user for the destination directory.      //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdAskDestPath()
    NUMBER nResult;
    STRING szTitle, szMsg;
begin

  szTitle = "";
  szMsg   = "";
  nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );

  TARGETDIR = svDir;

  return nResult;
end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: DialogShowSdSelectFolder                                        //
//                                                                           //
//  Purpose: This function displays the standard folder selection dialog.    //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdSelectFolder()
    NUMBER nResult;
    STRING szTitle, szMsg;
begin

  if (SHELL_OBJECT_FOLDER = "") then
      SHELL_OBJECT_FOLDER = @FOLDER_NAME;
  endif;

  szTitle    = "";
  szMsg      = "";
  nResult    = SdSelectFolder( szTitle, szMsg, SHELL_OBJECT_FOLDER );

  return nResult;
end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: DialogShowSdFinishReboot                                        //
//                                                                           //
//  Purpose: This function will show the last dialog of the product.         //
//           It will allow the user to reboot and/or show some readme text.  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdFinishReboot()
    NUMBER nResult, nDefOptions;
    STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
    NUMBER bOpt1, bOpt2;
begin

  if (!BATCH_INSTALL) then
      bOpt1 = FALSE;
      bOpt2 = FALSE;
      szMsg1 = "";
      szMsg2 = "";
      szOption1 = "";
      szOption2 = "";
      nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 );
      return 0;
  endif;

  nDefOptions = SYS_BOOTMACHINE;
  szTitle     = "";
  szMsg1      = "";
  szMsg2      = "";
  nResult     = SdFinishReboot( szTitle, szMsg1, nDefOptions, szMsg2, 0 );

  return nResult;
end;

// --- include script file section ---

#include "sddialog.rul"


반응형
반응형

ASP.NET 배포시 다른 컴퓨터에...배포시...

1. 가상디렉토리를 생성시와 같이 설정해준다...

ex) 프로그램 세팅이 http://localhost/tree였다면... 그 디렉토리가 http://localhost/tree가 될수 있게..

2. 가상디렉토리 안 모든 구역에 aspx파일이 존재하는 구역은 해당 폴더(디렉토리)명으로 응용프로그램 이름 정의!

반응형

+ Recent posts