c# - ダウンロード - プログラムによるプログラムの追加/削除プログラムへの登録と実行可能ファイル内のファイルの保存



アンインストール 方法 (4)

私はユーザーが自分のコンピュータにインストールできるようにしたいWindowsのC#コンソールアプリケーションに取り組んでいます。

Visual Studioに組み込まれているセットアップ展開ツールとして、独自のWindowsインストーラを実行可能にしたいと思っていますが、カスタマイズやドキュメントの機能が多少不足しているようです。

したがって、自分のWindowsインストーラを作成したいので、自分のプログラムを[プログラムの追加と削除]ウィンドウに登録するにはどうしたらいいですか?また、インストーラプログラムを再起動して削除することもできます。

また、実行可能ファイルは、PC上のさまざまな場所( C:\Program Filesをコピーする必要があるため、Windowsインストーラの実行可能ファイル内に実行可能ファイルを保存して、正しい場所に移動するにはどうすればよいでしょうか。

これは可能ですか?

あなたが提供できるお手伝いをありがとう。

https://src-bin.com



Answer #2

ここでは、プログラムの追加と削除にプログラムを登録するルーチンを示します。

private void CreateUninstaller()
{
    using (RegistryKey parent = Registry.LocalMachine.OpenSubKey(
                 @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", true))
    {
        if (parent == null)
        {
            throw new Exception("Uninstall registry key not found.");
        }
        try
        {
            RegistryKey key = null;

            try
            {
                string guidText = UninstallGuid.ToString("B");
                key = parent.OpenSubKey(guidText, true) ??
                      parent.CreateSubKey(guidText);

                if (key == null)
                {
                    throw new Exception(String.Format("Unable to create uninstaller '{0}\\{1}'", UninstallRegKeyPath, guidText));
                }

                Assembly asm = GetType().Assembly;
                Version v = asm.GetName().Version;
                string exe = "\"" + asm.CodeBase.Substring(8).Replace("/", "\\\\") + "\"";

                key.SetValue("DisplayName", "My Program");
                key.SetValue("ApplicationVersion", v.ToString());
                key.SetValue("Publisher", "My Company");
                key.SetValue("DisplayIcon", exe);
                key.SetValue("DisplayVersion", v.ToString(2));
                key.SetValue("URLInfoAbout", "http://www.blinemedical.com");
                key.SetValue("Contact", "[email protected]");
                key.SetValue("InstallDate", DateTime.Now.ToString("yyyyMMdd"));
                key.SetValue("UninstallString", exe + " /uninstallprompt");
            }
            finally
            {
                if (key != null)
                {
                    key.Close();
                }
            }
        }
        catch (Exception ex)
        {
            throw new Exception(
                "An error occurred writing uninstall information to the registry.  The service is fully installed but can only be uninstalled manually through the command line.",
                ex);
        }
    }
}

Answer #3

独自のインストーラをビルドしないでくださいnsis.sourceforge.net/Main_PageInno SetupWiXなどの実績のあるデプロイメントツールを使用してください。 すべて無料で、多くの機能を備えています。


Answer #4

神の愛のためにclickonceを使用しないでください...それは価値があるよりも面倒です。 マシンに対する管理者権限がなく、何かをインストールする必要がある場合は、許可を求める時間が必要です。





uninstall