रोल बैक सस्पेंडेड .MSI कमांड-लाइन से इंस्टॉल होता है


9

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

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

के बाद:

त्रुटि 1704. जावा 7 अपडेट 10 के लिए एक इंस्टॉलेशन वर्तमान में निलंबित है। जारी रखने के लिए आपको उस स्थापना द्वारा किए गए परिवर्तनों को पूर्ववत करना होगा। क्या आप उन परिवर्तनों को पूर्ववत् करना चाहते हैं?

यदि आप संवादात्मक रूप से एक संस्थापन चलाते हैं, तो यह ठीक है। आप बस "ओके" पर क्लिक करें और फिर "हां" पर क्लिक करें, और यह चालू हो जाता है। लेकिन अगर आप कमांड-लाइन इंस्टॉल करते हैं, तो यह रुक जाता है। हम कमांड लाइन से निलंबित इंस्टॉल को कैसे रद्द कर सकते हैं?


इसलिए जब आप कहते हैं कि "अंतःक्रियात्मक रूप से चलाएं" तो क्या आपका मतलब स्क्रिप्ट चलाना है या सिर्फ सामान्य जावा इंस्टॉलर चलाना है?
tony roth

खैर, मैंने एक स्क्रिप्ट तैनात की जो जावा को स्थापित करने के लिए पृष्ठभूमि में चली गई। इसने बहुत सारी मशीनों पर ताला लगा दिया और एक निलंबित स्थापित छोड़ दिया। अब, कोई भी मौन संस्थापन मैं त्रुटि 1704 के साथ बाहर निकलता हूं। यदि मैं संवादात्मक रूप से संस्थापन चलाता हूं (जिसका अर्थ है कि मैं लॉग-इन करता हूं, .MSI पर क्लिक करें, और संकेतों के माध्यम से चलाएँ), यह मुझे निलंबित संस्थापन को रद्द करने देता है। मैं कमांड-लाइन से उस निलंबित इंस्टॉल को कैसे रद्द कर सकता हूं?
कासियस

ठीक है यह कथन "मैंने एक स्क्रिप्ट को तैनात किया है जो जावा को स्थापित करने के लिए पृष्ठभूमि में चला गया है।" इसलिए जब आप ऐसा कर रहे हैं तो क्या आप इसे "ग्राउंड" में उसी व्यक्ति के रूप में चला रहे हैं जैसे कि "सिस्टम" में है?
tony roth

शायद एक मूक अनइंस्टॉल की कोशिश करें docs.oracle.com/javase/1.5.0/docs/guide/deployment/…
tony roth

SCCM सिस्टम के रूप में चुपचाप इंस्टॉल चलाता है। यदि मैं संस्थापन को अंतःक्रियात्मक रूप से चलाता हूं, किसी के रूप में, यह मुझे निलंबित संस्थापन को रद्द करने की अनुमति देता है।
कासियस

जवाबों:


8

जहाँ तक मुझे पता है, MSIEXEC का उपयोग करके कमांड लाइन से निलंबित MSI इंस्टॉलेशन को रद्द करना संभव नहीं है (इसके लिए कोई पैरामीटर नहीं है)।

किसी भी तरह, आप निम्नलिखित कमांड चलाने की कोशिश कर सकते हैं:

REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress

यह कुंजी तब बनती है जब प्रगति में कोई संस्थापन होता है। इसे हटाने से आपको सेटअप को फिर से चलाने की अनुमति मिल सकती है।


बिना प्रश्न के डिलीट को बाध्य करने के लिए a / f जोड़ें (यानी: स्क्रिप्ट के लिए)
higuita

3

यदि टॉमस का उत्तर उस समस्या को हल नहीं करता है जो आप MsiZap.exe सुविधा को आजमा सकते हैं ।

यह मूल रूप से MSI प्रतिष्ठानों द्वारा छोड़े गए मेटाडेटा को भी हटा देता है, लेकिन इससे आपको उन सभी स्थानों का पता लगाने की आवश्यकता नहीं होती है जहाँ जानकारी संग्रहीत है।

जैसे inProgress जानकारी को हटाना:

msizap.exe p

या रोलबैक जानकारी हटाएं:

msizap.exe s

msizap.exe में विंडोज के बाद के संस्करणों के साथ समस्याएं हैं। इसका अंधाधुंध उपयोग नहीं किया जाना चाहिए। यहाँ एक वैकल्पिक उपकरण है (मेरे द्वारा अनुपलब्ध)।
स्टीन Steस्मूल

0

मुझे पता चला है कि विंडोज 10 (x64) में आप एचकेएलएम में नहीं बल्कि वर्तमान उपयोगकर्ता रजिस्ट्री शाखा HKEY_USERS \ SXX-XX -... \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress में कुंजी को हटाने का प्रयास कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.