2008-09-09 12 views
7

के साथ एक देशी डेल्फी एप्लिकेशन को तैनात करना संभव है क्या डेल्फी एप्लिकेशन लॉन्च करने के लिए उपयोग किए जाने वाले स्टब सी # एक्सई के बिना क्लिकऑन के साथ मूल डेल्फी एप्लिकेशन को तैनात करना संभव है?क्या क्लिकऑन

वही प्रश्न VB6, C++ और अन्य मूल विंडोज अनुप्रयोगों पर लागू होता है।

उत्तर

6

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

वैसे, डेल्फी के लिए आप कुछ तीसरे पक्ष मदद का उपयोग कर सकते हैं:

http://www.tmssoftware.com/site/wupdate.asp

UPDATED:

मेरी कार्यान्वयन के लिए:

MyApp.EXE 3 अलग प्रकार

में चलेंगे
  1. बिना MyApp.EXE कोई तर्क यह आम तौर पर आवेदन शुरू करेगा।

    1.1 सबसे पहले यह है कि सर्वर के साथ अपने फ़ाइल-समय को सत्यापित करना है।

    1.2 अद्यतन तो आवश्यक है, तो यह "MyApp-YYYY-MM-DD-HH-MM-SS.exe" नाम की फ़ाइल के लिए अद्यतन फ़ाइल डाउनलोड करेगा

    1.3 तो यह आह्वान "MyApp-YYYY- कमांड तर्क

    MyApp-YYYY-MM-DD-HH-MM-SS.exe --update MyApp.EXE 
    

    1.4 इस एप्लिकेशन को समाप्त करें।

    1.5 यदि कोई अपडेट की आवश्यकता तो आवेदन 1.1

  2. MyApp.EXE --update "FILENAME" से सामान्य रूप से शुरू कर देंगे है।

    2.1 सफलता तक हर 100ms "FILENAME" में स्वयं को कॉपी करने का प्रयास करें।

    2।2 सफलता प्राप्त करते समय "FILENAME" को आमंत्रित करें

    2.3 स्वयं को हटाने के लिए "FILNAME --delete MyApp-YYYY-MM-DD-HH-MM-SS.exe" को आमंत्रित करें।

    2.4 बर्खास्त

  3. MyApp.EXE --delete "FILENAME" को

    3.1 फ़ाइल "FILENAME" को सफलता तक हर 500ms हटाने का प्रयास करें।

    3.2 बर्खास्त

मैं पहले से ही 7 साल के लिए अपने आवेदन के लिए इस योजना का उपयोग किया गया है और यह अच्छी तरह से काम करता है। कदमों में गलत होने पर यह डीबग करने के लिए काफी दर्दनाक हो सकता है क्योंकि चरणों में कई प्रक्रियाएं शामिल होती हैं। मेरा सुझाव है कि आप सरल परेशानी-शूटिंग की अनुमति देने के लिए बहुत सारे ट्रेस लॉगिंग करें।

गुड लक

+0

यही वही है जो मैंने किया। – Branko

+0

मुझे तब कुछ अपवित्रता नहीं होगी;) – Sake

1

मैं अगर यह ठूंठ बिना पूरा किया जा सकता 100% यकीन नहीं है, लेकिन इस लेख कुछ अंतर्दृष्टि प्रदान हो सकता है:

How To: ClickOnce deployment for unmanaged app with COM component in managed assembly

+0

यह एक वातावरण है जहाँ आप एक COM घटक है जो एक कामयाब विधानसभा है की दिशा में अपनी प्रकट इंगित कर सकते हैं के लिए विशिष्ट लगता है। एक 100% अप्रबंधित समाधान काम करने के लिए किसी भी कमरे में यह छोटा हैक प्रदान नहीं करेगा। –

3

नहीं, आपके ऐप पर प्रवेश बिंदु कोड में कामयाब होने की जरूरत है ।

यह blog post से ब्रायन नोयस, क्लिकऑन के मुख्य लेखकों में से एक है और Smart Client Deployment with ClickOnce के लेखक हैं।

आप अनुप्रयोग वास्तव में विरासत (अर्थात VB6, MFC, ATL, आदि), एक अप्रबंधित कोड निष्पादन में के रूप में है, तो कोई है, आप इसे ClickOnce के माध्यम से एक निष्पादन योग्य के रूप में तैनात नहीं कर सकते।

स्वीकार्य कामकाज एक प्रबंधित कोड स्टब exe लगता है जो मुख्य exe लॉन्च करता है।

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

  • कोई संबंधित समस्या नहीं^_^