/// <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(); }
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); }