See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 16162|Vastuse: 2

[Uus number] Setup Project projektis tekib probleeme InstallShieldi paigalduspaketi käivitamisel Silent Mode'is

[Kopeeri link]
Postitatud 28.08.2018 11:56:12 | | |
Tere jumalad,

Olen hiljuti kasutanud Setup Projecti programmi pakendamiseks ja see kannab nime A.
Projekti nõuete tõttu pidin paigaldama InstallShieldi poolt A paigalduse ajal paigalduspaketi B.
Selles. AfterInstall ja see. BeforeUninstall osad lisavad vastavalt koodid "Install" ja "Reverse Install" B.
Kuid seda ei õnnestunud sujuvalt käivitada ning B poolt genereeritud setup.log sai ResultCode=-3, kuid põhjus on teadmata...

Ma palun juhatusel jumalat appi, see probleem on mu väikest venda kaua vaevanud ja ma pole suutnud seda lahendada... Täname!!

Järgnevas koodis paigutatakse InstallerHelper_AfterInstall ja InstallerHelper_BeforeUninstall kood uude loodud C# konsooliprogrammi, kuid see võib töötada normaalselt.
Ja WaitforExit() võib samuti sujuvalt kinni jääda ning B paigalduspakett saab samuti sujuvalt käivitada, ResultCode=0.

Kood on järgmine:
--
kasutades süsteemi;
kasutades System.Collections'i;
kasutades System.Collections.Generic;
kasutades System.ComponentModeli;
kasutades System.Configuration.Install;
kasutades System.Linq'i;
kasutades System.Threading.Tasks;
kasutades System.Configurationi;
kasutades System.Windowsi;
kasutades System.IO;
kasutades System.Diagnostics;
kasutades System.Threadingut;

nimeruum FRWebService
{
    [RunInstaller(true)]
    public partial class InstallerHelper : Installer
    {
        public InstallerHelper()
        {

            InitializeComponent();

            See. BeforeInstall += uus InstallEventHandler(InstallerHelper_BeforeInstall);
            See. AfterInstall += uus InstallEventHandler(InstallerHelper_AfterInstall);

            See. BeforeUninstall += new InstallEventHandler(InstallerHelper_BeforeUninstall);
            See. AfterUninstall += uus InstallEventHandler(InstallerHelper_AfterUninstall);
        }

        private void InstallerHelper_BeforeUninstall(object sender, InstallEventArgs e)
        {
            proovi
            {
                String arg = "/s /uninst";
                Protsess p = Protsess.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();

            }
            catch (Exception ex)
            {

            }
        }

        private void InstallerHelper_BeforeInstall(object sender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_Committing(object sender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_Committed(object sender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_AfterInstall(object sender, InstallEventArgs e)
        {
            proovi
            {
                String arg = "/s";
                Protsess p = Protsess.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();
            }
            catch (Exception ex)
            {

            }
        }

        private void InstallerHelper_AfterUninstall(object sender, InstallEventArgs e)
        {


        }


        Kood, mida tuleb teha rakenduse paigaldamise ajal
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            Baasi. Install(stateSaver);
            System.Windows.Forms.MessageBox.Show ("Rakenduse paigaldamine...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            Baasi. Desinstalli (stateSaver);
            System.Windows.Forms.MessageBox.Show ("Rakenduse eemaldamine...");
        }

    }
}
--





Eelmine:Linq rakendab tingimuslikke päringuid SQL-is mitte sees ja sees
Järgmine:MySQL pärib tabeliid, mis on loodud kindlal ajal andmebaasis
Postitatud 28.08.2018 13:02:49 |
Kas saad setup.log logisid kleepida? Või käivitada installatsioon administraatorina ja proovida?
 Üürileandja| Postitatud 28.08.2018 14:21:53 |
Seda postitust toimetas viimati yishiang0217 2018-9-3 09:47
admin postitatud 2018-8-28 13:02
Kas saad setup.log logisid kleepida? Või käivitada installatsioon administraatorina ja proovida?

Tere, administraatorid,

Hea saada sinu vastust, siin on vastused su küsimustele:

1.
See ongi kõik, millest setup.log räägib @@
--
[VastusTulemus]
ResultCode=-3
--
Või kas InstallShield suudab rohkem printida?!

2.
Setup Project genereerib kaks faili, üks on msi ja teine exe, proovisin exe-faili administraatorina käivitada, aga ei saanud...

P.S. Seni edukas osa on... Käivita B paigalduspakett AfterInstall'i ajal, aga ära kasuta WaitForExit'i, saad selle sujuvalt ja vaikselt paigaldada... Aga kuna B on paigaldatud ja pakendatud, pean ma veel mõned operatsioonid tegema...
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com