2011-01-14 8 views
8

मैं एक WIX इंस्टॉलर से कुछ बंदरगाहों को स्थापित करने की कोशिश कर रहा हूं। WinXP के लिए हम कस्टम कार्रवाई में httpcfg का उपयोग करते हैं और यह ठीक काम करता है। Win7 के लिए, हम कोशिश कर रहे हैं:netsh http urlacl समस्या जोड़ें

netsh http add urlacl url=http://127.0.0.1/8346/ user="NT AUTHORITY\Authenticated Users" sddl="D:(A;;GX;;;AU)" 

WIX संस्थापक सही ढंग से इस बयान निष्पादित करता है और बंदरगाहों सेट - प्रशासक जो .msi रन। कम निजीकृत वाले उपयोगकर्ता इन बंदरगाहों तक नहीं पहुंच सकते हैं। मुझे मशीन पर सभी उपयोगकर्ताओं के लिए इसे सेट अप करने की ज़रूरत है, लेकिन मैंने किसी भी भाग्य के बारे में सोचने के बारे में सोचने की कोशिश की है।

मुझे कुछ अजीब लगता है कि व्यवस्थापक उपयोगकर्ता Netstat -a का उपयोग करके निर्दिष्ट पोर्ट देख सकता है, लेकिन वे नेट्स http शो urlacl का उपयोग कर बिल्कुल प्रकट नहीं होते हैं ... क्या यह कुछ गलत संकेतक है?

+0

आप दोनों पैरामीटर उपयोगकर्ता और एसडीएल का उपयोग क्यों कर रहे हैं? आईएमएचओ उनमें से केवल एक आवश्यक/उपयोगी है। – Christian

उत्तर

2

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

+0

यह प्रश्न का उत्तर देने के लिए प्रतीत नहीं होता है, यहां तक ​​कि यह शायद सही है। इसके अलावा, इस उत्तर में कोई विशिष्टता नहीं है। – Gyuri

+0

आपको WIX के नए संस्करणों का उपयोग करने की आवश्यकता होगी जो व्यवस्थापक के रूप में ठीक से लॉन्च करने के लिए बूटस्ट्रैपर (Setup.exe) का समर्थन करते हैं। अन्यथा यह केवल एमएसआईएक्सईसी के माध्यम से व्यवस्थापक कमांड/प्रक्रिया से लॉन्च होने पर ही काम करेगा। Bootstapper गारंटी देने का एकमात्र तरीका है कि आप व्यवस्थापक के रूप में चल रहे हैं, भले ही Setup.exe को खोल से डबल-क्लिक किया गया हो। उपयोगकर्ता/व्यवस्थापक लॉग को समझाने के लिए लॉन्च की स्थिति को जोड़ना भी आम बात है, यह कुछ अजीब विफलता संदेश की बजाय विफल क्यों हुआ, उदा। जब MSI/setup.exe बूटस्ट्रैपर के बिना डबल-क्लिक करें। आप "यूएसी के लिए संकेत नहीं दे सकते", केवल सिस्टम को किसी अन्य प्रक्रिया/setup.exe के माध्यम से नहीं कर सकते। –

6

यदि 8346 आपका पोर्ट नंबर है तो आप वाक्यविन्यास गलत होना चाहिए।

netsh http add urlacl url=http://127.0.0.1:8346/ user="NT AUTHORITY\Authenticated Users" 
+0

जबकि उत्तर टाइपो को ठीक करने का एक सही कथन है, मैं नहीं देखता कि यह प्रश्न का उत्तर कैसे देता है। आप इस जानकारी के लिए एक टिप्पणी का इस्तेमाल कर सकते थे। – Gyuri

+0

यदि आप इसे थोड़ा नीरस बनाना चाहते हैं तो आप किसी भी पते को दर्ज करने से बचने के लिए प्लस साइन का उपयोग कर सकते हैं, यह किसी भी आईपी या नाम के लिए शॉर्टकट है जो स्थानीय मशीन को हल करता है, यानी "http: // +: 8346 /" । –

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