2009-03-02 7 views
6

आवेदन नेट 2.0 फ्रेमवर्क WinForms है। यह बड़े उपयोगकर्ता आधार (सीडी से स्थापना) पर काम करना चाहिए। InnoSetup का उपयोग कर स्थापना की गई।विस्टा और सी # - खींचें और छोड़ें समस्या (नहीं पदोन्नति से संबंधित) विचाराधीन

दो मशीनों पर, एप्लिकेशन & ड्रॉप को स्वीकार नहीं करता है (डी & डी के दोनों अनुप्रयोग और स्रोत के समान ऊंचाई स्तर है)।

पढ़ें & पढ़ें & अनुप्रयोग शॉर्टकट के लिए इंटरैक्टिव सिड के अधिकार निष्पादित जोड़ कर, इस समस्या को हल किया जा करने के लिए प्रकट होता है।

प्रश्न: कैसे उन अधिकारों और डी & डी जोड़ने से संबंधित हैं और इसकी जांच करने का/स्थापना की प्रक्रिया में उन अधिकारों को सेट?

+1

इसके अलावा, यह भी जहां कार्यक्रम स्थापित किया गया है से जुड़ा है - अगर यह प्रोग्राम फ़ाइलें के बाहर स्थापित किया गया है ("भरोसेमंद स्थान") यह बुरी तरह व्यवहार करेगा। –

+1

अच्छा सवाल, उत्तर को नहीं पता। –

+1

विचित्र बड़े पैमाने पर तैनाती मुद्दों के साथ हाल ही में एक ऐसी ही नाव में किया गया है (यह भी WinForms और .net 2.0)। अगर आपको पता चलता है कि यह Vista तक सीमित नहीं है तो मैं बहुत आश्चर्यचकित नहीं होगा। मेरे पास कुछ समस्याएं थीं जो शुरुआत में केवल कुछ हफ्तों बाद पता लगाने के लिए विस्टा पर होती थीं कि यह चुनिंदा एक्सपी मशीनों पर होती है। – blak3r

उत्तर

0

अंधेरे में बस एक गोली मार दी है, लेकिन [STAThread] अपने आवेदन की मुख्य() विधि पर उपस्थित विशेषता है? इसके बिना, ड्रैग और ड्रॉप बिल्कुल काम नहीं करेगा। (हालांकि यह संवादात्मक एसआईडी पर अधिकारों के परिवर्तन के साथ व्यवहार में बदलाव की व्याख्या करने में विफल रहता है)।

+0

हां, ज़ाहिर है, यह वहां है। इसके अलावा, इस समस्या को 2 (50 से बाहर का परीक्षण) मशीनों पर बस है। –

+0

हां, लेकिन थ्रेडिंग समस्याओं के साथ Windows.Forms के साथ एक यादृच्छिक व्यवहार हो सकता है। कुछ मशीनों पर काम कर सकते हैं और दूसरों पर असफल हो सकते हैं। – AMissico

0

आप परियोजना सीधे के लिए और दृश्य स्टूडियो के वातावरण के बाहर exe फ़ाइल चलाना चाहिए। मैं विंडोज विस्टा मंच पर काम कर रहा हूं।

  1. कैसे उन अधिकारों और डी & डी से संबंधित हैं और जोड़ने ...

इस बारे में मैं पूरी तरह से अनिश्चित हूँ:

1

आप यहाँ दो प्रश्न हैं। हम विस्टा में किसी भी मुद्दे के बिना खोल और Outlook से हमारे WinForm ऐप में डी & डी का उपयोग करते हैं। मुझे एसीएल परिवर्तन भी निश्चित नहीं है कि आप सुझाव देते हैं कि आपके पास जो भी मुद्दा है उसे ठीक करना निश्चित होगा।

  1. स्थापना प्रक्रिया में उन अधिकारों को कैसे जांचें/सेट करें?

इस create a .Net install class है करते हैं और निम्नलिखित कोड जोड़ने के लिए आसान तरीका:

public static void ReplacePermissions(string filepath, WellKnownSidType sidType, FileSystemRights allow) 
    { 
     FileSecurity sec = File.GetAccessControl(filepath); 
     SecurityIdentifier sid = new SecurityIdentifier(sidType, null); 
     sec.PurgeAccessRules(sid); //remove existing 
     sec.AddAccessRule(new FileSystemAccessRule(sid, allow, AccessControlType.Allow)); 
     File.SetAccessControl(filepath, sec); 
    } 
संबंधित मुद्दे