Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 16162|Jawab: 2

[Edisi Baru] Akan ada masalah saat menjalankan paket instalasi InstallShield menggunakan Mode Senyap dalam proyek Proyek Penyiapan

[Salin tautan]
Diposting pada 28/08/2018 11.56.12 | | |
Halo dewa,

Saya telah menggunakan Setup Project untuk mengemas program baru-baru ini, dan itu disebut A.
Karena persyaratan proyek, saya harus menginstal paket instalasi B yang dikemas oleh InstallShield selama penginstalan A.
Dalam hal ini. AfterInstall dan this.BeforeUninstall masing-masing menambahkan kode "Install" dan "Reverse Install" B.
Namun, itu tidak dapat dieksekusi dengan lancar, dan setup.log yang dihasilkan oleh B memperoleh ResultCode=-3, tetapi alasannya tidak diketahui...

Saya mohon kepada dewa dewan untuk membantu, masalah ini telah mengganggu adik laki-laki saya untuk waktu yang lama, dan saya belum dapat menyelesaikannya ... Terima kasih!!

Dalam kode berikut, kode di InstallerHelper_AfterInstall dan InstallerHelper_BeforeUninstall ditempatkan dalam program konsol C# yang baru dibuat, tetapi dapat berjalan secara normal.
Dan WaitforExit() juga bisa macet dengan lancar, dan paket instalasi B juga dapat dijalankan dengan lancar, ResultCode=0.

Kodenya adalah sebagai berikut:
--
menggunakan Sistem;
menggunakan System.Collections;
menggunakan System.Collections.Generic;
menggunakan System.ComponentModel;
menggunakan System.Configuration.Install;
menggunakan System.Linq;
menggunakan System.Threading.Tasks;
menggunakan System.Configuration;
menggunakan System.Windows;
menggunakan System.IO;
menggunakan System.Diagnostics;
menggunakan System.Threading;

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

            InisialisasiKomponen();

            ini. BeforeInstall += InstallEventHandler(InstallerHelper_BeforeInstall) baru;
            ini. AfterInstall += InstallEventHandler(InstallerHelper_AfterInstall) baru;

            ini. SebelumHapus instalan += InstallEventHandler(InstallerHelper_BeforeUninstall) baru;
            ini. AfterUninstall += InstallEventHandler(InstallerHelper_AfterUninstall baru);
        }

        void pribadi InstallerHelper_BeforeUninstall(pengirim objek, InstallEventArgs e)
        {
            Coba
            {
                String arg = "/s /uninst";
                Proses p = Proses.Mulai("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();

            }
            tangkap (Pengecualian mis)
            {

            }
        }

        void pribadi InstallerHelper_BeforeInstall(pengirim objek, InstallEventArgs e)
        {

        }

        void pribadi InstallerHelper_Committing(pengirim objek, InstallEventArgs e)
        {

        }

        void pribadi InstallerHelper_Committed(pengirim objek, InstallEventArgs e)
        {

        }

        void pribadi InstallerHelper_AfterInstall(pengirim objek, InstallEventArgs e)
        {
            Coba
            {
                String arg = "/s";
                Proses p = Proses.Mulai("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();
            }
            tangkap (Pengecualian mis)
            {

            }
        }

        void pribadi InstallerHelper_AfterUninstall(pengirim objek, InstallEventArgs e)
        {


        }


        Kode yang harus dilakukan pada saat menginstal aplikasi
        penggantian publik void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            pangkalan. Instal (StateSaver);
            System.Windows.Forms.MessageBox.Show("Menginstal Aplikasi...");
        }

        penggantian publik void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            pangkalan. Uninstall(stateSaver);
            System.Windows.Forms.MessageBox.Show("Menghapus Aplikasi...");
        }

    }
}
--





Mantan:Linq mengimplementasikan bukan dalam dan dalam kueri bersyarat di SQL
Depan:MySQL menanyakan tabel yang dibuat pada waktu tertentu dalam database
Diposting pada 28/08/2018 13.02.49 |
Bisakah Anda menempelkan log setup.log? Atau jalankan instalasi sebagai administrator dan coba?
 Tuan tanah| Diposting pada 28/08/2018 14.21.53 |
Posting ini terakhir diedit oleh yishiang0217 pada 2018-9-3 09:47
admin Dipaparkan pada 2018-8-28 13:02
Bisakah Anda menempelkan log setup.log? Atau jalankan instalasi sebagai administrator dan coba?

Halo administrator,

Senang menerima balasan Anda, berikut adalah jawaban atas pertanyaan Anda:

1.
Hanya itu setup.log tentang @@
--
[Hasil Tanggapan]
Kode Hasil=-3
--
Atau bisakah InstallShield mencetak lebih banyak?!

2.
Setup Project akan menghasilkan dua file, satu adalah msi dan yang lainnya adalah exe, saya mencoba menjalankan exe sebagai administrator, tetapi saya tidak bisa...

P.S. Bagian yang sukses sejauh ini adalah... Jalankan paket instalasi B saat AfterInstall, tetapi jangan gunakan WaitForExit, Anda dapat menginstalnya dengan lancar dan senyap... Tetapi karena B diinstal dan dikemas, saya masih harus melakukan beberapa operasi ...
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com