2010-03-17 15 views
5

स्थापित हटाना करने के लिए मैं स्क्रिप्ट जो inturn मेरी .net अनुप्रयोग कॉल का उपयोग कर पिछले आवेदन को हटाने कर रहा हूँ। मैं चाहता हूं कि वास्तव में स्टार्ट मेनू से स्टार्ट (संपूर्ण ऐप 1) को हटाएं (स्टार्ट-> प्रोग्राम्स-> ऐप 1-> अनइंस्टॉल ऐप 1)?उपयोग InnoSetup स्क्रिप्ट पहले से आवेदन फ़ोल्डर

धन्यवाद गल्स

उत्तर

11

तुम सिर्फ प्रारंभ मेनू से "स्थापना रद्द करें APP1" आइकन हटाना चाहते हैं, तो निम्न कार्य करना चाहिए:

[InstallDelete] 
Type: files; Name: "{group}\uninstall app1" 

आप से पूरे कार्यक्रम समूह निकालना चाहते हैं प्रारंभ मेनू, का उपयोग करें:

[InstallDelete] 
Type: filesandordirs; Name: "{group}" 

मतलब यह है कि आपके Inno सेटअप स्क्रिप्ट प्रारंभ मेनू फ़ोल्डर का नाम पिछले "APP1" के रूप में एक ही है आवेदन।

+1

आप विशेष मेनू आइटम को हटाने की जरूरत है, तो आप उदाहरण के लिए .lnk लागू करने की आवश्यकता: प्रकार: फ़ाइलों ; नाम: "{group} \ uninstall app1.lnk" –

2

धन्यवाद क्रेग अपने नए एप्लिकेशन एक ही नाम (APP2) नहीं है मुझे

[InstallDelete] 
Type: filesandordirs; Name: {commonprograms}\app1 
+1

ध्यान दें कि यदि उपयोगकर्ता ने डिफ़ॉल्ट स्थापना पथ बदल दिया है तो यह काम नहीं करेगा। – mghie

+0

क्या आपका मतलब है कि अगर उपयोगकर्ता प्रोग्रामफाइल के तहत स्थापित नहीं है तो यह काम नहीं करेगा? – Gauls

6

मेरे लिए काम किया उन में से कोई भी के लिए काम किया के बाद, के बाद काम के आसपास है, यहाँ मेरी हल है; में [सेटअप]

//Delete old entry folder from start menu 
procedure DeleteOldStartMenuEntry; 
var 
entry: String; 
begin 
//Replace "Diviner" with desired folder name 
entry := ExpandConstant('{commonprograms}') + '\Diviner\'; 
if DirExists(entry) then begin 
    DelTree(entry, true, true, true); 
    end 
end; 

अंदर InitializeSetup अपने प्रक्रिया फोन:

function InitializeSetup: Boolean; 
var: 
    .... 
begin 
    .... 
    DeleteOldStartMenuEntry; 
    .... 
end; 
+0

यह मेरे लिए एक आकर्षण की तरह काम करता है - InnoSetup निर्देशिका को हटाने में सक्षम होने के लिए एक्सप्लोरर विंडो को भी बंद कर देता है। – gogowitsch

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