InstallShield ´ò°üʵÀý - ͼÎÄ ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2025/7/6 6:35:27ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

¸Ã²½ÖèÊÇÓÉInstallShield×Ô¶¯¸ø³öµÄ£¬Ò»°ãÇé¿öÏÂÎÒÃDz»±Ø×öÈκÎÊ¡£Èý¸ö°²×°Ñ¡ÏµäÐͰ²×°¡¢Ñ¹Ëõ°²×°ºÍ×Ô¶¨Òå°²×°ÊǸù¾ÝÎÒÃÇÔÚ°²×°ÀàÐÍ£¨Setup Type£©µÄÃæ°åÖÐÔ¤ÏÈÉèÖúõÄÖµÀ´½øÐеġ£Èç¹ûÓû§Ñ¡ÔñÁË×Ô¶¨Òå°²×°£¬ÏµÍ³¾Í»áµ¯³öÈçϽçÃæ£¬¼ûͼ¡£

ÕâÊÇÓÉϵͳ×Ô¶¯¸ø³öµÄ£¬ÎÒÃÇÓò»×ÅдһÐдúÂ룬ÕâÊDz»ÊǺܰô£¿

²»ÖªµÀÄãÓÐûÓÐ×¢Òâµ½´°¿ÚµÄ×óÃæÓÐÒ»¸ö˵Ã÷¿ò£¬ËüÊÇÓÃÀ´ÌáʾÓû§Ä¿Ç°ËùÑ¡ÔñµÄ×é¼þÊǸÉʲôµÄ¡£ÔÚȱʡµÄ״̬ÏÂËüÊǿյģ¬ÐèÒªÎÒÃÇÀ´Ìí¼Ó¡£Ìí¼ÓµÄ·½·¨ÊÇÔÚ×é¼þ

£¨Components£©µÄÃæ°åÖУ¬Ã¿µ±ÎÒÃǵãÖÐÒ»¸ö×é¼þÔÚ×ó±ßµÄÁбíÖоͻáÓÐÒ»¸öÃèÊöÀ¸£¨Description£©£¬ËüµÄÄÚÈݾÍÊÇÉÏÃæÌáµ½µÄ°ïÖúÐÅÏ¢£¬ÄãÖ»Òª½«Ïà¶ÔÓû§ËµµÄ»°Ð´ÉÏÈ¥¾ÍÐÐÁË¡£

Ê®¡¢ ³ÌÐòÎļþ¼Ð

ÕâÒ»²½ÓÉInstallShield×Ô¶¯¸ø³ö£¬Ò»°ã²»Òª×öÈκÎÐ޸ġ£ ʮһ¡¢ ×îºóÈ·ÈÏ

ÎÒÃÇÒ»¶¨»¹¼ÇµÃÿµ±°²×°Ò»¸öÏñOfficeµÈרҵ»¯Èí¼þʱ£¬ÔÚÈí¼þÕýʽ°²×°Ç°ÏµÍ³¶¼»á¸ø³öÒ»¸öÁбí¿ò£¬ÆäÖÐÁгöÁËÄãËù×öµÄÒ»ÇÐÑ¡Ôñ£¬°üÀ¨Èí¼þµÄ°²×°Â·¾¶£¬ÐèÒª°²×°µÄ×é¼þµÈ£¬Í¬Ê±»¹°üÀ¨ÁË×¢²áµÄÓû§ÃûºÍµ¥Î»µÈÐÅÏ¢¡£ÔÚÎÒÃÇÓÃInstallShieldÖÆ×÷°²×°Å̵ÄʱºòÒ²»áÓÐÕâÒ»¸öÁбí¿ò£¬µ«Òź¶µÄÊÇÔÚȱʡ״¿öÏÂInstallShieldÌṩµÄÕâ¸öÁбí¿òÊǿյģ¬Ê²Ã´ÄÚÈÝҲûÓУ¬ÕâÐèÒªÎÒÃǸøËü¼ÓÈë¡£ºÃÔÚÓк¯ÊýListAddStringÀ´°ïÎÒÃǵÄæ¡£

Ïà¹Øº¯Êý£ºListAddString

¸Ãº¯ÊýÔÚ×Ö·û´®Áбí¿òµÄµ±Ç°¶ÔÏóǰºóÐÂÔö¼ÓÒ»¸ö×Ö·û´®¡£µ÷Óóɹ¦·µ»Ø0£¬·ñÔò·µ»ØÐ¡ÓÚ0µÄÈκÎÊý¡£

Ôڽű¾Setup.rulµÄʼþOnFirstUIBeforeÖÐÕÒµ½Dlg_SdStartCopy·ÖÖ§£¬ÈçÏ£º Dlg_SdStartCopy: szTitle = \szMsg = \

listStartCopy = ListCreate( STRINGLIST );

//The following is an example of how to add a string(svName) to a list(listStartCopy).

//eg. ListAddString(listStartCopy,svName,AFTER); nResult = SdStartCopy( szTitle, szMsg, listStartCopy ); ListDestroy(listStartCopy);

if (nResult = BACK) goto Dlg_SdSelectFolder; // setup default status SetStatusWindow(0, \Enable(STATUSEX); StatusUpdate(ON, 100); return 0; ÔÚÓï¾ä

nResult = SdStartCopy( szTitle, szMsg, listStartCopy ); ǰ¼ÓÉÏÈçÏ´úÂë

//*******¼ÓÈë°²×°¹ý³ÌÖÐÓû§ËùÑ¡ÔñµÄÖ÷Òª²½Öè // Èç¹û²»ÊÖ¶¯¼ÓÈëµÄ»°½«»áʲôҲ²»Áгö

ListAddString(listStartCopy,\¿Í»§ÐÅÏ¢£º\ListAddString(listStartCopy,\Óû§Ãû£º\ListAddString(listStartCopy,\Óû§µ¥Î»£º\ListAddString(listStartCopy,\

ListAddString(listStartCopy,\³ÌÐò°²×°Â·¾¶£º\ListAddString(listStartCopy,\

ListAddString(listStartCopy,\³ÌÐòÎļþ¼Ð£º\ListAddString(listStartCopy,\switch (nSetupType)

case TYPICAL : ListAddString(listStartCopy,\°²×°ÀàÐÍ£ºµäÐͰ²×°\case COMPACT: ListAddString(listStartCopy,\°²×°ÀàÐÍ£ºÑ¹Ëõ°²×°\

case CUSTOM: ListAddString(listStartCopy,\°²×°ÀàÐÍ£º×Ô¶¨Òå°²×°\endswitch; //end.

ÆäÖÐsvName¡¢svCompany¡¢szDirµÈ±äÁ¿ÎÒÃÇ¿ÉÒÔÔÚʼþOnFirstUIBefore¿ªÊ¼µÄ±äÁ¿¶¨ÒåÖÐÕÒµ½¡£´Ó±äÁ¿µÄÃû³ÆÎÒÃǺÜÇå³þµÄÖªµÀ¸Ã±äÁ¿´æ·ÅµÄÊÇÓû§Ãû£¬µ¥Î»£¬°²×°Ä¿Â¼µÈ¡£ Ê®¶þ¡¢ µÚÒ»·ù±³¾°£¬µÚ¶þ·ù±³¾°¡ª¡ªÍ¼Æ¬12£¬Í¼Æ¬13

ϸÐĵÄÅóÓÑÒ»¶¨»á×¢Òâµ½Èí¼þÔÚ°²×°¹ý³ÌÖлá³öÏÖÁ½¸±²»Í¬µÄ±³¾°Í¼Æ¬£¬Í¼12ºÍͼ13£¬Õâ¾ÍÊÇInstallShieldµÄÏÔÊ¾Çø½çÃæ£¬ÎÒÃÇ¿ÉÒÔ³ÆËüΪ²¼¸æ°å¡£Õâ¿´ÉÏÈ¥ÊDz»ÊǺÜÏñÔÚ²¥·Å»ÃµÆÆ¬£¿ºÇºÇ£¬ÎÒÃÇ¿ÉÒÔºÍ΢ÈíµÄ±ÈÒ»±ÈÁË£¨Ëµ¾äЦ»°£©¡£ÑÔ¹éÕý´«£¬»¹ÊÇÀ´ËµËµÊÇÈçºÎʵÏֵİɡ£

²¼¸æ°å£¬ËüÖ»ÓÐÔÚÎļþ±»´«Êäʱ²Å±»¼¤»î¡£Ò²¾ÍÊÇ˵£¬µ±Äãµ÷ÓÃComponentTransferDataº¯ÊýÀ´½âѹ²¢¿½±´Ê±²¼¸æ°å²Å±»ÏÔʾ£¬¸Ãº¯ÊýÊÇÓÐϵͳ×Ô¶¯µ÷Óã¬Óò»×ÅÎÒÃÇÀ´²ÙÐÄ¡£

µ«ÊÇ£¬Äã²»ÄÜΪһ¸ö²¼¸æ°åÖ¸¶¨ÏÔʾʱ¼ä£¬InstallShield»á¸ù¾ÝÕû¸ö³ÌÐòµÄ°²×°Ê±¼ä£¨Ö¸Îļþ¿½±´Ê±¼ä£©×Ô¶¯µÄΪÿһ¸öÎļþƽ¾ù·ÖÅ䣬µ«ÖÁÉÙÊÇ2Ãë¡£Èç¹ûÄãµÄ°²×°³ÌÐò½ö³ÖÐø20Ã룬¶øÄãÈ´·ÅÖÃÁË25¸±Í¼Æ¬£¬ºÜÏÔȻϵͳֻ»áÏÔʾǰ10¸±Í¼Æ¬¡£ µ±ÄãÐèÒªÏÔʾ²¼¸æ°å֮ǰ»¹±ØÐëÈ·±£ÒÔÏÂÁ½¸öÌõ¼þ£º

1¡¢ ÔÚÄãµÄ½Å±¾ÀÊ×ÏÈҪȷ±£ÔÚÎļþ±»´«Êäǰµ÷ÓÃEnable(BACKGROUND) ºÍ Enable(FULLWINDOWMODE)£¬ÎÒÃÇ¿ÉÒÔ¼ÓÔÚʼþOnMovingÖС£ÐÎʽÈçÏ£º function OnMoving() STRING szAppPath; begin

Enable(BACKGROUND); Enable(FULLWINDOWMODE); Enable(STATUSDLG);

PlaceWindow(STATUSDLG, 400, 10, LOWER_LEFT); szAppPath = TARGETDIR;

RegDBSetItem(REGDB_APPPATH, szAppPath);

RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY); end; Ïà¹Øº¯Êý£º

Enable(BACKGROUND) £ºÏÔʾ°²×°Ö÷±³¾°´°¿Ú

Enable(FULLWINDOWMODE)£ºÉèÖÃÖ÷±³¾°´°¿ÚΪ×î´ó»¯¡£

2¡¢ ÔÚÉèÖÃÎļþ£¨Setup Files£©Ãæ°åÖУ¬ÔÚºÏÊʵÄÄ¿±êÓïÑÔºÍÆ½Ì¨Ï·ÅÖþßÓÐÌØÊâºó׺ÃûµÄ²¼¸æ°åÎļþ¡£Ä¬ÈϵÄÃüÃûÊÇ£º¡°Bbrd¡±£¬È»ºóÔÙ¸úÒ»¸öÊý×Ö£¬×îºóÔÙ¼ÓÉϺó׺¡°.bmp¡±»ò¡°.wmf¡±¡£ÀýÈ磬ÎÒÃÇÏÖÔÚÒª¼ÓÈý¸±BMPͼƬ£¬ÔòÕâÈý¸±Í¼Æ¬µÄÃû³Æ·Ö±ðÓ¦¸ÃÊÇBbrd1.bmp¡¢Bbrd2.bmp¡¢Bbrd3.bmp¡£

ºÃÁË£¬ÔËÐÐһϣ¬ºÜ²»´í¡£ÎÒÃÇ¿ÉÒÔÀûÓÃÕâÏî¼¼ÊõÔÚ°²×°¹ý³ÌÖв¥·ÅÀàËÆ»ÃµÆÆ¬Ð§¹û£¬¾ÍÏñ°²×°WindowsÒ»Ñù¡£