2011-09-20 15 views
10

मैं एप्लिकेशन के लिए इंस्टॉलर बनाने के लिए इनो सेटअप (http://www.jrsoftware.org/isfaq.php) का उपयोग करना चाहता हूं।इनो सेटअप - जब कोई उपयोगकर्ता विंडोज में लॉग इन करता है तो मैं अपना प्रोग्राम कैसे चला सकता हूं?

मैं यह एप्लिकेशन तब भी शुरू करना चाहता हूं जब कोई उपयोगकर्ता विंडोज मशीन पर अपने खाते में लॉग इन करता है।

जब कोई उपयोगकर्ता लॉग इन करता है तो कार्यक्रम शुरू करने के लिए मैं इनो सेटअप कैसे बता सकता हूं?

+0

क्या उपयोगकर्ता भी यह चाहता है? –

+0

उपयोगकर्ता के 'स्टार्ट' startmenu फ़ोल्डर में ऐप को शॉर्टकट दें? उपयोगकर्ता की 'रन' रजिस्ट्री प्रविष्टि में एक कुंजी जोड़ें? –

+0

हां, यही वही है जो उपयोगकर्ता चाहता है। ठीक है, मैं इनो सेटअप के साथ ऐसा कैसे करूं? –

उत्तर

27

सभी उपयोगकर्ता प्रोफ़ाइल के स्टार्टअप फ़ोल्डर में एक शॉर्टकट डालें।

[Setup] 
PrivilegesRequired=admin 

[Icons] 
Name: "{commonstartup}\My Program"; Filename: "{app}\MyProg.exe" 

आप इस कार्यक्रम को चलाने के लिए केवल जब उपयोगकर्ता उस प्रोग्राम स्थापित में लॉग चाहते हैं, तो {commonstartup} के बजाय {userstartup} का उपयोग करें: ज्ञान का आधार लेख 'Create shortcuts in the Startup (or Autostart) group' जो नीचे दिए गए उदाहरण में शामिल हैं देखें। उस स्थिति में व्यवस्थापक विशेषाधिकारों की आवश्यकता नहीं है।


या आप रजिस्ट्री की 'चलाएं' कुंजी (kb article) को लिखने का निर्णय लेते हैं:

[Registry] 
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "MyProg"; ValueData: """{app}\MyProg.exe"""; Flags: uninsdeletevalue 

आप 'HKLM' का उपयोग करते हैं, फिर व्यवस्थापक विशेषाधिकार की आवश्यकता है।

+0

धन्यवाद! मुझे यही चाहिए! –

+0

यदि मैं विंडोज़ सेवा के रूप में स्थापित करना चाहता हूं तो क्या होगा? मैंने आपके उत्तर में जिस तरीके का उल्लेख किया है, उसकी कोशिश की। लेकिन कार्यक्रम दिखाता है और बाहर निकलता है हालांकि यह लूप के दौरान हमेशा के लिए चल रहा है। – rahulserver

+0

@rahulserver - आप "नेट स्टार्ट svcname" के लिए शॉर्टकट बना सकते हैं। –

1

शायद यह किसी के लिए मददगार होगा ...

मैं खिड़कियों 8 के तहत कुछ समस्याओं का सामना करना पड़ा जब कि स्वचालित रूप से ऑटोरन रजिस्ट्री कुंजी जैसे डाल सेटअप बनाने की कोशिश: चलाने के लिए

Root: "HKCU"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "NHMMNAS"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletevalue 

मेरी प्रत्येक विंडोज स्टार्टअप पर 32-बिट .NET अनुप्रयोग। यह हुआ कि 32-बिट अनुप्रयोग एक छोटे संशोधन की जरूरत थी जो Root: "HKCU32" साथ Root: "HKCU" की जगह किया गया था के लिए बहुत सेटअप लिपि में प्रवेश किया गया था:

Root: "HKCU32"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "NHMMNAS"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletevalue 

लाइन को जोड़ने और फिर से स्थापित करने के बाद, अपने आवेदन नहीं के साथ सिस्टम स्टार्टअप पर शुरू कर दिया समस्या का।

+0

तो आप 64-बिट स्थापना मोड चला रहे थे जिसमें 'HKCU' रूट कुंजी मानचित्र 64-बिट रजिस्ट्री व्यू पर थे। यह उल्लेख करना भी महत्वपूर्ण है कि आप इस कार्य के लिए कार्य शेड्यूलर का उपयोग कर सकते हैं। – TLama

+0

आपकी टिप्पणी के लिए धन्यवाद - यह मेरे दिमाग को पार नहीं कर पाया :), लेकिन कार्य शेड्यूलर के लिए मुझे लगता है कि मेरे पास पर्याप्त ज्ञान नहीं है –

+0

कार्य शेड्यूलर टूल काफी अच्छी तरह से है ['वर्णित'] (http://msdn.microsoft .com/en-us/library/windows/desktop/bb736357 (v = vs.85) .aspx) कई ['example'] (http://technet.microsoft.com/en-us/library/cc725744 के साथ)। एएसपीएक्स # बीकेएमके_क्रेट), सिस्टम स्टार्टअप उदाहरण के लिए ['यह एक'] (http://technet.microsoft.com/en-us/library/cc725744.aspx#BKMK_startup)। – TLama

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