एनएसआईएस में प्रदर्शित इंस्टॉलेशन लॉग को सहेजने का सबसे आसान तरीका क्या है? मुझे लगता है कि कहीं भी पढ़ना याद है कि आप एनएसआईएस कोड को एक विशेष ध्वज के साथ पुन: संकलित कर सकते हैं ताकि लॉग को सहेजने में सक्षम बनाया जा सके। क्या कोई आसान तरीका है?एनएसआईएस स्थापित करना लॉग इन
उत्तर
यहाँ NSIS website
StrCpy $0 "$EXEDIR\install.log"
Push $0
Call DumpLog
!define LVM_GETITEMCOUNT 0x1004
!define LVM_GETITEMTEXT 0x102D
Function DumpLog
Exch $5
Push $0
Push $1
Push $2
Push $3
Push $4
Push $6
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1016
StrCmp $0 0 exit
FileOpen $5 $5 "w"
StrCmp $5 "" exit
SendMessage $0 ${LVM_GETITEMCOUNT} 0 0 $6
System::Alloc ${NSIS_MAX_STRLEN}
Pop $3
StrCpy $2 0
System::Call "*(i, i, i, i, i, i, i, i, i) i \
(0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1"
loop: StrCmp $2 $6 done
System::Call "User32::SendMessageA(i, i, i, i) i \
($0, ${LVM_GETITEMTEXT}, $2, r1)"
System::Call "*$3(&t${NSIS_MAX_STRLEN} .r4)"
FileWrite $5 "$4$\r$\n"
IntOp $2 $2 + 1
Goto loop
done:
FileClose $5
System::Free $1
System::Free $3
exit:
Pop $6
Pop $4
Pop $3
Pop $2
Pop $1
Pop $0
Exch $5
FunctionEnd
चुप मोड में काम नहीं करता है, अगर कुछ विफल हुआ तो काम नहीं करेगा। इस तरह के लॉगिंग का कारण क्या है? –
यह 64 बिट एनएसआईएस के साथ काम नहीं करता है। कोई विचार? – sproketboy
मुझे अपवाद मिलता है lvm_getitemcount पहले ही परिभाषित – JackNova
फ़ाइल आकार को छोटा रखने के प्रयास में, एनएसआईएस कंपाइलर की डिफ़ॉल्ट स्थापना लॉग फ़ाइलों को नहीं बनाती है। रिलीज के Special Build डाउनलोड करें और इसे makensis.exe
एप्लिकेशन (और Stub
फ़ोल्डर) पर लॉग इन करने के लिए इसे लॉन्च करने के लिए कॉपी करें।
एक बार जब आप यह है कि क्या किया है, बस अपनी स्क्रिप्ट के लिए निम्नलिखित जोड़ें:
LogSet on
कोई अन्य बदलाव की जरूरत है। मुझे नहीं पता कि यह मेरे मामलों में डिफ़ॉल्ट क्यों नहीं है, यह केवल फाइलसाइज में 48 बाइट जोड़ता है!
स्टब निर्देशिका में दोनों makensis और फ़ाइलों को कॉपी करना सुनिश्चित करें। मैंने बस makensis.exe की प्रतिलिपि बनाई और सबकुछ काम करता है, लेकिन install.log फ़ाइल कभी नहीं बनाई गई थी। –
'INSTDIR के पास इस फ़ंक्शन को कॉल करने से पहले एक मान होना चाहिए या यह काम नहीं करेगा। - एनएसआईएस मैनुअल –
से एक और गड़बड़: लॉगसेट पर प्रत्येक अनुभाग और/या फ़ंक्शन में जोड़ा जाना चाहिए जहां आप सामान लॉग करना चाहते हैं (न केवल एक बार) – werner
- 1. सिनात्रा में लॉग इन करना?
- 2. देरी_job में लॉग इन करना?
- 3. पायथन में लॉग इन करना?
- 4. लॉग इन
- 5. एएसपी.NET लॉग इन कंट्रोल
- 6. टाइमलाइन बनाम लॉग इन
- 7. टी-एसक्यूएल लॉग इन
- 8. एनएसआईएस
- 9. वर्तमान लॉग इन उपयोगकर्ता
- 10. एमएमएस लॉग इन एंड्रॉइड
- 11. ग्लासफ़िश एक्सेस लॉग इन
- 12. एनएसआईएस इंस्टॉलर
- 13. अपवाद लॉग इन कब करें?
- 14. गिट लॉग इन जेडएसएच टर्मिनल
- 15. जावा * लॉग इन * हर * थ्रेड इंटरप्ट लॉग इन करने का कोई तरीका है?
- 16. लॉग इन C++ कैसे बनाएं?
- 17. लॉग इन एनएचबीर्नेट एसक्यूएल प्रश्न
- 18. एनएसआईएस इंस्टॉलर का नाम
- 19. Google ऐप इंजन: देव कंसोल में लॉग इन करना?
- 20. त्रुटि/अपवाद को कौन से लॉग इन करना चाहिए
- 21. क्या फ़ाइल या डेटाबेस में लॉग इन करना बेहतर है?
- 22. एक्सेस करना लॉग इन हुए प्रयोक्ता एक टेम्पलेट
- 23. अपवाद होने पर लॉग इन करना क्या है?
- 24. ASP.NET MVC3 इंट्रानेट एप्लिकेशन में उपयोगकर्ता नाम लॉग इन करना
- 25. एक संदेश कतार में लॉग इन करना अच्छा विचार है?
- 26. बाहरी एप्लिकेशन से लॉग इन
- 27. हर विधि लॉग इन करें?
- 28. लॉग इन PHP नोटिस त्रुटियां
- 29. रैक लॉग इन कहां है?
- 30. एनएसआईएस 'लैंगस्ट्रिंग
[Dump_log_to_file] (http://nsis.sourceforge.net/Dump_log_to_file) आज़माएं। – Babak