この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 16162|答える: 2

[新号] Setup Projectプロジェクト内でサイレントモードでInstallShieldインストールパッケージを実行する際に問題が発生するでしょう

[リンクをコピー]
掲載地 2018/08/28 11:56:12 | | |
こんにちは、神々よ、

最近、Setup Projectを使ってプログラムをパッケージ化しており、Aと呼ばれています。
プロジェクトの要件により、Aのインストール時にInstallShieldがパッケージしたインストールパッケージBをインストールしなければなりませんでした。
この件で。 AfterInstallとthis.beforeUninstallパーツはそれぞれ「Install」と「Reverse Install」Bのコードを追加しています。
しかし、スムーズに実行できず、Bによって生成されたsetup.logはResultCode=-3となりましたが、その理由は不明です...

板の神様に助けてください、この問題は長い間弟を悩ませていて、私は解決できていません... ありがとうございます!!

以下のコードでは、InstallerHelper_AfterInstallとInstallerHelper_BeforeUninstallのコードが新たに作成されたC#コンソールプログラムに配置されますが、通常通り実行可能です。
また、WaitforExit()もスムーズに詰まることがあり、Bインストールパッケージもスムーズに実行できます。ResultCode=0です。

コードは以下の通りです:
--
Systemを使い、
System.Collectionsの使用;
System.Collections.Genericを使い、
System.ComponentModelを使い、
System.Configuration.Installを使い、
System.Linqを使い、
System.Threading.Tasksを使い、
System.Configurationを使い、
System.Windowsを使い、
System.IO を用いる;
System.Diagnosticsを使い、
System.Threadingを使い、

名前空間 FRWebService
{
    [RunInstaller(true)]
    public partial class InstallerHelper : Installer
    {
        public InstallerHelper()
        {

            InitializeComponent();

            これ。 BeforeInstall += new InstallEventHandler(InstallerHelper_BeforeInstall);
            これ。 AfterInstall += new InstallEventHandler(InstallerHelper_AfterInstall);

            これ。 BeforeUninstall += new InstallEventHandler(InstallerHelper_BeforeUninstall);
            これ。 AfterUninstall += new InstallEventHandler(InstallerHelper_AfterUninstall);
        }

        private void InstallerHelper_BeforeUninstall(object sender, InstallEventArgs e)
        {
            やってみて
            {
                文字列 arg = "/s /uninst";
                Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();

            }
            catch(例外例)
            {

            }
        }

        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)
        {
            やってみて
            {
                文字列 arg = "/s";
                Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();
            }
            catch(例外例)
            {

            }
        }

        private void InstallerHelper_AfterUninstall(object sender, InstallEventArgs e)
        {


        }


        アプリケーションをインストールする際に実行すべきコード
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            基地。 インストール(stateSaver);
            System.Windows.Forms.MessageBox.Show("アプリケーションのインストール中...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            基地。 アンインストール(stateSaver);
            System.Windows.Forms.MessageBox.Show("アプリケーションのアンインストール...");
        }

    }
}
--





先の:LinqはSQLの条件付きクエリで実装されています
次に:MySQLクエリ:データベース内で特定の時点で構築されたテーブル
掲載地 2018/08/28 13:02:49 |
丸太を貼り付けsetup.logできますか? それとも管理者としてインストールを実行して試してみるのも良いでしょう?
 地主| 掲載地 2018/08/28 14:21:53 |
この投稿は2018年9月3日09:47にyishiang0217によって最終編集されました。
管理者 2018年8月28日 13:02 投稿
丸太を貼り付けsetup.logできますか? それとも管理者としてインストールを実行して試してみるのも良いでしょう?

管理者の皆さん、こんにちは。

ご返信いただけて嬉しいです。質問への回答をまとめます。

1.
それがsetup.logのすべてです@@
--
[応答結果]
ResultCode=-3
--
それともInstallShieldはもっと多く印刷できるのでしょうか?

2.
Setup Projectは2つのファイルを生成します。1つはMSIで、もう1つはexeです。管理者としてexeを実行しようとしましたが、できませんでした...

追伸:これまで成功している部分は... AfterInstallのときにBインストールパッケージを実行してください。ただしWaitForExitは使わないでください。スムーズかつ静かにインストールできます... しかしBがインストール・パッケージ化されているため、まだいくつかの操作をしなければなりません...
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com