2009-09-29 14 views
9

मैं अपने इनो सेटअप इंस्टॉलर में यह जांचने के लिए एक सत्यापन कर रहा हूं कि मशीन पर माइक्रोसॉफ्ट अपडेट स्थापित है या नहीं, अगर नहीं, तो मैं एक साधारण संदेश बॉक्स दिखा रहा हूं कि उपयोगकर्ता को अपडेट करना आवश्यक है, यह है संदेश कोड:इनो सेटअप में हाइपरलिंक कैसे दिखाएं?

MsgBox(
    'Your system requires an update supplied by Microsoft. ' + 
    'Please follow this link to install it: ' + 
    'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en', 
    mbInformation, MB_OK); 

मैं URL वह वेब पृष्ठ के लिए एक हाइपरलिंक बनाना चाहते हैं, लेकिन मैं कैसे, यह एक हाइपरलिंक के रूप में पाठ जोड़ने के लिए Inno सेटअप में संभव है यह पता लगाने के लिए सक्षम नहीं किया गया है?

धन्यवाद।

उत्तर

13

MsgBox() इनो सेटअप में फ़ंक्शन मानक विंडोज MessageBox() फ़ंक्शन के लिए एक रैपर है, जो AFAIK एम्बेडेड लिंक का समर्थन नहीं करता है, इसलिए वहां लिंक को बस दिखाना संभव नहीं है।

हालांकि आप क्या कर सकते हैं उपयोगकर्ता को सूचित करना है कि अद्यतन आवश्यक है, और उनसे पूछें कि डिफ़ॉल्ट ब्राउज़र में लिंक खोलना है या नहीं। की तरह कुछ:

function InitializeSetup(): Boolean; 
var 
    ErrCode: integer; 
begin 
    if MsgBox('Your system requires an update supplied by Microsoft. Would you like to visit the download page now?', mbConfirmation, MB_YESNO) = IDYES 
    then begin 
    ShellExec('open', 'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en', 
     '', '', SW_SHOW, ewNoWait, ErrCode); 
    end; 
    Result := False; 
end; 

इस कोड स्थापना रद्द कर देगा, लेकिन आप जो की जाँच करता है अद्यतन स्थापित किया गया है कि क्या एक कस्टम बजाय पेज बना सकते हैं, और नहीं तो अगले पृष्ठ पर नेविगेशन से बचाता है। यह केवल तभी काम करेगा जब सिस्टम को सिस्टम पुनरारंभ किए बिना अद्यतन स्थापित किया जा सके।

+1

प्रदान किया गया उत्तर विंडोज 7 पर ठीक काम करता है लेकिन विंडोज 8 पर नहीं (कम से कम मेरे सेटअप के साथ नहीं)। मुझे 'ShellExec' को' ShellExecAsOriginalUser' में बदलना पड़ा। –

+0

@ जेन्सहोल्स्टस्चुमाकर: धन्यवाद, आप उस अतिरिक्त जानकारी के साथ उत्तर भी संपादित कर सकते हैं जिसे बाद में एक और अनुभवी उपयोगकर्ता द्वारा अनुमोदित किया जाएगा। – Deanna

संबंधित मुद्दे