Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 16162|Vastaus: 2

[Uusi numero] Setup Project -projektissa esiintyy ongelmia InstallShield-asennuspaketin ajamisessa Silent Mode -tilassa

[Kopioi linkki]
Julkaistu 28.8.2018 11.56.12 | | |
Hei jumalat,

Olen viime aikoina käyttänyt Setup Projectia ohjelman pakkaamiseen, ja sen nimi on A.
Projektin vaatimusten vuoksi minun piti asentaa asennuspaketti B, jonka InstallShield oli pakannut A:n asennuksen aikana.
Tässä. AfterInstall ja tämä. BeforeUninstall -osat lisäävät koodit "Install" ja "Reverse Install" B.
Kuitenkin sitä ei voitu suorittaa sujuvasti, ja B:n generoima setup.log sai ResultCode=-3, mutta syy on tuntematon...

Pyydän hallitusta, jumala auttamaan, tämä ongelma on vaivannut pikkuveljeäni pitkään, enkä ole pystynyt ratkaisemaan sitä... Kiitos!!

Seuraavassa koodissa InstallerHelper_AfterInstall- ja InstallerHelper_BeforeUninstall-koodit sijoitetaan uuteen C#-konsoliohjelmaan, mutta se voi toimia normaalisti.
WaitforExit() voi myös jumittua sujuvasti, ja B-asennuspaketti voidaan myös suorittaa sujuvasti, ResultCode=0.

Koodi on seuraava:
--
käyttämällä Systemiä;
käyttäen System.Collectionsia;
käyttäen System.Collections.Generic-tiedostoa;
käyttäen System.ComponentModelia;
käyttäen System.Configuration.Install;
käyttäen System.Linqia;
käyttäen System.Threading.Tasksia;
käyttäen System.Configurationia;
käyttäen System.Windowsia;
käyttäen System.IO;
System.Diagnosticsin avulla;
käyttäen System.Threadingiä;

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

            InitializeComponent();

            Tämä. BeforeInstall += uusi InstallEventHandler(InstallerHelper_BeforeInstall);
            Tämä. AfterInstall += uusi InstallEventHandler(InstallerHelper_AfterInstall);

            Tämä. BeforeUninstall += new InstallEventHandler(InstallerHelper_BeforeUninstall);
            Tämä. AfterUninstall += uusi InstallEventHandler(InstallerHelper_AfterUninstall);
        }

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

            }
            catch (poikkeus esim.)
            {

            }
        }

        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)
        {
            yritä
            {
                Merkkijono arg = "/s";
                Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();
            }
            catch (poikkeus esim.)
            {

            }
        }

        private void InstallerHelper_AfterUninstall(object sender, InstallEventArgs e)
        {


        }


        Koodi, joka suoritetaan sovelluksen asennuksen yhteydessä
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            tukikohta. Install(stateSaver);
            System.Windows.Forms.MessageBox.Show("Sovelluksen asennus...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            tukikohta. Poista (stateSaver);
            System.Windows.Forms.MessageBox.Show ("Sovelluksen poistaminen...");
        }

    }
}
--





Edellinen:Linq toteuttaa ehdolliset kyselyt SQL:ssä
Seuraava:MySQL kysyy tietokantaan tiettyyn aikaan rakennettuja taulukoita
Julkaistu 28.8.2018 13.02.49 |
Voitko liittää setup.log lokit? Vai ajaa asennus järjestelmänvalvojana ja kokeilla?
 Vuokraisäntä| Julkaistu 28.8.2018 14.21.53 |
Tätä julkaisua on viimeksi muokattu yishiang0217:n toimesta 2018-9-3 klo 09:47
admin julkaistu 2018-8-28 klo 13:02
Voitko liittää setup.log lokit? Vai ajaa asennus järjestelmänvalvojana ja kokeilla?

Hei ylläpitäjät,

Mukava saada vastauksesi, tässä vastaukset kysymyksiisi:

1.
Siinä kaikki setup.log on kyse @@
--
[Vastaustulos]
ResultCode=-3
--
Vai voiko InstallShield tulostaa enemmän?!

2.
Setup Project generoi kaksi tiedostoa, toinen on msi ja toinen exe, yritin ajaa exe:tä ylläpitäjänä, mutta en onnistunut...

P.S. Se osa, joka on ollut tähän asti onnistunut, on... Aja B-asennuspaketti AfterInstallin yhteydessä, mutta älä käytä WaitForExitiä, voit asentaa sen sujuvasti ja äänettömästi... Mutta koska B on asennettu ja paketoitu, minun täytyy silti tehdä joitain operaatioita...
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com