Beispiel #1
0
        /// <summary>
        /// UI -> ProjectDocument。
        /// </summary>
        void UpdateUiToDocument(ClickOnceConfigFile config)
        {
            if (config == null)
            {
                return;
            }

            CsProject.PropertyCollection properties = config.PropertyItems;
            //常规
            config.Settings.DistributionPath = txtDistributionPath.Text;
            config.Settings.ExecuteFile      = txtExecuteFile.Text;
            config.Settings.ExecuteFileType  = chkIsCLR.Checked ? ExecuteFileTypes.CLR : ExecuteFileTypes.Win32;
            config.Settings.AssemblyInfoFile = txtAssemblyInfoFile.Text;
            //引导程序集
            properties.AssemblyName = txtAssemblyName.Text.Trim();
            properties.AssemblyOriginatorKeyFile     = txtAssemblyOriginatorKeyFile.Text;
            properties.ManifestCertificateThumbprint = txtManifestCertificateThumbprint.Text;
            properties.ManifestKeyFile = txtManifestKeyFile.Text;

            //发布选项
            properties.PublishUrl = txtPublishUrl.Text;
            properties.InstallUrl = txtInstallUrl.Text;
            properties.Install    = radioInstallEnable.Checked;

            if (chkEnableApplicationRevision.Checked)
            {                                                                    //自动更新
                properties.ApplicationVersion = string.Format("{0}.{1}.{2}.%2a", // %2a = *
                                                              txtApplicationVersionMajor.Text,
                                                              txtApplicationVersionMinor.Text,
                                                              txtApplicationVersionBuild.Text);
            }
            else
            {
                properties.ApplicationVersion = string.Format("{0}.{1}.{2}.{3}",
                                                              txtApplicationVersionMajor.Text,
                                                              txtApplicationVersionMinor.Text,
                                                              txtApplicationVersionBuild.Text,
                                                              numApplicationRevision.Value.ToString());
            }
            properties.ApplicationRevision = (int)numApplicationRevision.Value;

            //其他

            config.RefreshPublishFiles();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            string settingsFile = "";
            string options      = "";

            if (args.Length > 0)
            {
                settingsFile = args[0];
            }
            if (args.Length > 1)
            {
                options = args[1];
            }

            Form form = null;

            switch (options.Trim().ToLower())
            {
            case "/update":
                string fileName = System.IO.Path.Combine(Application.StartupPath, settingsFile);
                ClickOnceConfigFile document = new ClickOnceConfigFile(fileName);
                document.RefreshPublishFiles();
                //项目文件
                document.WriteXml(document.FileName);
                Console.WriteLine("/update 成功更新。");
                return;

            case "/build":
                form = new BuildForm(settingsFile);
                break;

            default:
                form = new MainForm(settingsFile);
                break;
            }
            Application.Run(form);
        }