本文整理汇总了C#中Squirrel.UpdateManager.RemoveShortcutsForExecutable方法的典型用法代码示例。如果您正苦于以下问题:C# UpdateManager.RemoveShortcutsForExecutable方法的具体用法?C# UpdateManager.RemoveShortcutsForExecutable怎么用?C# UpdateManager.RemoveShortcutsForExecutable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Squirrel.UpdateManager
的用法示例。
在下文中一共展示了UpdateManager.RemoveShortcutsForExecutable方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnAppUninstall
/// <summary>
/// Execute when app is uninstalling
/// </summary>
/// <param name="version"><see cref="Version"/> version</param>
private static void OnAppUninstall(Version version)
{
using (var manager = new UpdateManager(Constants.UpdateServerUrl))
{
manager.RemoveShortcutsForExecutable("Popcorn.exe", ShortcutLocation.Desktop);
manager.RemoveShortcutsForExecutable("Popcorn.exe", ShortcutLocation.StartMenu);
manager.RemoveShortcutsForExecutable("Popcorn.exe", ShortcutLocation.AppRoot);
manager.RemoveUninstallerRegistryEntry();
}
}
示例2: OnAppUninstall
private static void OnAppUninstall(Version version)
{
try
{
Log.InfoFormat("OnAppUninstall for version {0}", version);
using (var updateManager = new UpdateManager(Program.PackageUrl, Program.PackageId))
{
updateManager.RemoveShortcutsForExecutable("Nuts.exe", ShortcutLocation.Desktop);
}
}
catch (Exception exception)
{
Log.Error("OnAppUninstall encountered and exception", exception);
throw;
}
}
示例3: Deshortcut
public void Deshortcut(string exeName, string shortcutArgs)
{
if (String.IsNullOrWhiteSpace(exeName)) {
ShowHelp();
return;
}
var appName = getAppNameFromDirectory();
var defaultLocations = ShortcutLocation.StartMenu | ShortcutLocation.Desktop;
var locations = parseShortcutLocations(shortcutArgs);
using (var mgr = new UpdateManager("", appName)) {
mgr.RemoveShortcutsForExecutable(exeName, locations ?? defaultLocations);
}
}
示例4: Deshortcut
public void Deshortcut(string exeName)
{
if (String.IsNullOrWhiteSpace(exeName)) {
ShowHelp();
return;
}
var appName = getAppNameFromDirectory();
using (var mgr = new UpdateManager("", appName, FrameworkVersion.Net45)) {
mgr.RemoveShortcutsForExecutable(exeName, ShortcutLocation.Desktop | ShortcutLocation.StartMenu);
}
}
示例5: Deshortcut
public void Deshortcut(string exeName, string shortcutArgs)
{
if (String.IsNullOrWhiteSpace(exeName)) {
ShowHelp();
return;
}
var appName = getAppNameFromDirectory();
var defaultLocations = ShortcutLocation.StartMenu | ShortcutLocation.Desktop;
var locations = parseShortcutLocations(shortcutArgs);
// NB: Always basing the rootAppDirectory relative to ours allows us to create Portable
// Applications
var ourDir = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "..");
using (var mgr = new UpdateManager("", appName, FrameworkVersion.Net45, ourDir)) {
mgr.RemoveShortcutsForExecutable(exeName, locations ?? defaultLocations);
}
}
示例6: OnAppUninstall
public static void OnAppUninstall(Version version)
{
var exePath = Assembly.GetEntryAssembly().Location;
string appName = Path.GetFileName(exePath);
var updatePath = ConfigurationManager.AppSettings["UpdatePathFolder"];
var packageId = ConfigurationManager.AppSettings["PackageID"];
using (var mgr = new UpdateManager(updatePath, packageId, FrameworkVersion.Net45))
{
// Remove Desktop and Start Menu shortcuts
mgr.RemoveShortcutsForExecutable(appName, DefaultLocations);
}
}
示例7: ApplyAutorun
public void ApplyAutorun()
{
using (var mgr = new UpdateManager(""))
{
try
{
if (Autorun)
mgr.CreateShortcutsForExecutable("Artemis.exe", ShortcutLocation.Startup, false);
else
mgr.RemoveShortcutsForExecutable("Artemis.exe", ShortcutLocation.Startup);
}
catch (FileNotFoundException)
{
// Ignored, only happens when running from VS
}
catch (DirectoryNotFoundException)
{
// Ignored, only happens when running from VS
}
}
}
示例8: HandleSquirrelInstallEvent
internal static void HandleSquirrelInstallEvent(string[] args)
{
#if __MonoCS__
Debug.Fail("HandleSquirrelInstallEvent should not run on Linux!"); // and the code below doesn't compile on Linux
return;
#else
bool firstTime = false;
var updateUrlResult = LookupUrlOfSquirrelUpdate();
// Should only be null if we're not online. Not sure how squirrel will handle that,
// but at least one of these operations is responsible for setting up shortcuts to the program,
// which we'd LIKE to work offline. Passing it a plausible url, even though it will presumably fail,
// seems less likely to cause problems than passing null.
if(string.IsNullOrEmpty(updateUrlResult.URL))
updateUrlResult.URL = @"https://s3.amazonaws.com/bloomlibrary.org/squirrel";
if (args[0] == "--squirrel-uninstall")
{
RemoveBloomRegistryEntries();
}
if (args[0] == "--squirrel-updated")
{
var props = new Dictionary<string, string>();
if (args.Length > 1)
props["newVersion"] = args[1];
props["channel"] = ApplicationUpdateSupport.ChannelName;
Analytics.Track("Update Version", props);
}
string iconPath = null;
if (args[0] == "--squirrel-install")
{
//Using an icon in the root folder fixes the problem of losing the shortcut icon when we
//upgrade, lose the original, and eventually the windows explorer cache loses it.
//There was another attempt at fixing this by finding all the shortcuts and updating them, but that didn't work in our testing and this seems simpler and more robust.
//There may be some other reason for the old approach of pointing at the icon of the app itself (e.g. could be a different icon)?
var exePath = Application.ExecutablePath;
var rootAppDirectory = Path.GetDirectoryName(Path.GetDirectoryName(exePath));
// directory that holds e.g. /3.6/Bloom.exe
var versionIconPath = Path.ChangeExtension(exePath, "ico"); // where this installation has icon
iconPath = Path.ChangeExtension(Path.Combine(rootAppDirectory, Path.GetFileName(exePath)), "ico");
// where we will put a version-independent icon
try
{
if (RobustFile.Exists(versionIconPath))
RobustFile.Copy(versionIconPath, iconPath, true);
}
catch (Exception)
{
// ignore...most likely some earlier version of the icon is locked somehow, fairly harmless.
}
// Normally this is done on every run of the program, but if we're doing a silent allUsers install,
// this is our only time running with admin privileges so we can actually make the entries for all users.
MakeBloomRegistryEntries(args);
}
switch (args[0])
{
// args[1] is version number
case "--squirrel-install": // (first?) installed
case "--squirrel-updated": // updated to specified version
case "--squirrel-obsolete": // this version is no longer newest
case "--squirrel-uninstall": // being uninstalled
using (var mgr = new UpdateManager(updateUrlResult.URL, Application.ProductName))
{
// WARNING, in most of these scenarios, the app exits at the end of HandleEvents;
// thus, the method call does not return and nothing can be done after it!
// We replace two of the usual calls in order to take control of where shortcuts are installed.
SquirrelAwareApp.HandleEvents(
onInitialInstall: v =>
{
mgr.CreateShortcutsForExecutable(Path.GetFileName(Assembly.GetEntryAssembly().Location),
StartMenuLocations,
false, // not just an update, since this is case initial install
null, // can provide arguments to pass to Update.exe in shortcut, defaults are OK
iconPath,
SharedByAllUsers());
// Normally we can't do this in our quick silent run as part of install, because of the need to escalate
// privilege. But if we're being installed for all users we must already be running as admin.
// We don't need to do an extra restart of Bloom because this install-setup run of Bloom will finish
// right away anyway. We do this last because we've had some trouble (BL-3342) with timeouts
// if this install somehow ties up the CPU until Squirrel thinks Bloom is taking too long to do its
// install-only run.
if (SharedByAllUsers())
FontInstaller.InstallFont("AndikaNewBasic", needsRestart: false);
},
onAppUpdate: v => mgr.CreateShortcutForThisExe(),
onAppUninstall: v => mgr.RemoveShortcutsForExecutable(Path.GetFileName(Assembly.GetEntryAssembly().Location), StartMenuLocations, SharedByAllUsers()),
onFirstRun: () => firstTime = true,
arguments: args);
}
break;
}
#endif
}
示例9: UninstallEvent
public static void UninstallEvent()
{
using (var mgr = new UpdateManager(@"https://releases.noelpush.com/", "NoelPush"))
{
mgr.RemoveShortcutsForExecutable("NoelPush.exe", ShortcutLocation.StartMenu);
mgr.RemoveShortcutsForExecutable("NoelPush.exe", ShortcutLocation.Startup);
mgr.RemoveUninstallerRegistryEntry();
mgr.Dispose();
}
}