/// <summary> /// Crea un collegamento con il riferimento al deployment dell'applicazione (appref-ms). /// </summary> /// <remarks> /// Il collegamento creato con questo metodo riferisce al prodotto installato /// pertanto non viene alterato a seguito di un aggiornamento da parte di ClickOnce. /// </remarks> /// <param name="path"></param> /// <param name="caption"></param> public string CreateDeploymentShortcut(DirectoryInfo path, string caption) { if (_deploymentWrapper.IsNetworkDeployed) { string linkPath = Path.Combine(path.ToString(), caption + ".appref-ms"); Uri updateLocation = _deploymentWrapper.UpdateLocation; ApplicationId deploymentInfo = _deploymentWrapper.GetDeploymentInfo(); using (var shortcutFile = new StreamWriter(linkPath, false, Encoding.Unicode)) { shortcutFile.Write(@"{0}#{1}, Culture=neutral, PublicKeyToken=", updateLocation.ToString().Replace(" ", "%20"), deploymentInfo.Name.Replace(" ", "%20")); foreach (byte b in deploymentInfo.PublicKeyToken) { shortcutFile.Write("{0:x2}", b); } shortcutFile.Write(", processorArchitecture={0}", deploymentInfo.ProcessorArchitecture); } return(linkPath); } throw new InvalidDeploymentException("This is not a ClickOnce application"); }