From 5864a5cef1b843ebc790388b56bbe506cf071240 Mon Sep 17 00:00:00 2001 From: Ken Bailey Date: Fri, 25 Mar 2016 23:43:26 -0600 Subject: [PATCH 1/3] FAQ updates based on responses to #218, #574, and #611. Trailing slash comment from #641. --- docs/faq.md | 13 ++++++++++++- docs/using/github.md | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 3c419083c..2c9f52ec2 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -11,6 +11,14 @@ Frequently Asked Questions for Squirrel.Windows, organized by area below. Yes, you can package a non-c# application in the same manner as described in the Getting Started guide. For additional customization, see [custom squirrel events for non-c# apps](using/custom-squirrel-events-non-CS.md). 1. **How do I migrate a ClickOnce app to Squirrel?** You may want to look into the [ClickOnceToSquirrelMigrator](https://github.com/flagbug/ClickOnceToSquirrelMigrator) migration helper. +1. **How can I determine if my app is a Squirrel app? I provide a squirrel and non-squirrel install version and want to know which is running.** + You can check for the `Update.exe` in the parent directory to determine if the app is using Squirrel ([see #574](https://github.com/Squirrel/Squirrel.Windows/issues/574#issuecomment-176043311)). + + ``` +var assembly = Assembly.GetEntryAssembly(); +var updateDotExe = Path.Combine(Path.GetDirectoryName(assembly.Location), '..', 'Update.exe'); +var isInstalled = File.Exists(updateDotExe); + ``` ## Packaging @@ -43,7 +51,10 @@ This program is blocked by group policy. For more information, contact your syst The best course of action is to request that executables for Squirrel and your application be whitelisted by your corporate overlords. 4. **No Shortcuts are Created for my Application** Verify that the NuGet Package Metadata `id` property doesn't have a [space or \[dot\]](https://github.com/Squirrel/Squirrel.Windows/issues/530) in it. - +5. **Can I use a different name for the `Setup.exe` install application?** + Yes, you can rename the `Setup.exe` to what ever you wish (e.g., `MyAppSetup.exe`) ([see #611](https://github.com/Squirrel/Squirrel.Windows/issues/611)) +6. **Virus scanner is returning false positives on `MyApp.exe` or `Update.exe`. What can I do?** + [Application Signing](using/application-signing.md) will help. In addition, you can submit false positives to the various antivirus authors (e.g., [Symantec](https://submit.symantec.com/false_positive/), [Microsoft](https://www.microsoft.com/security/portal/Submission/Submit.aspx), [AVG](http://www.avg.com/submit-sample), [Comodo](https://www.comodo.com/home/internet-security/submit.php), [McAfee](https://support.mcafeesaas.com/MCAFEE/_cs/AnswerDetail.aspx?aid=65), [List of Submission Locations](http://www.techsupportalert.com/content/how-report-malware-or-false-positives-multiple-antivirus-vendors.htm), [see #218](https://github.com/Squirrel/Squirrel.Windows/issues/218#issuecomment-166406180)). ## Updating diff --git a/docs/using/github.md b/docs/using/github.md index 57c17f550..8deae0d50 100644 --- a/docs/using/github.md +++ b/docs/using/github.md @@ -53,6 +53,8 @@ using (var mgr = UpdateManager.GitHubUpdateManager("https://github.com/myuser/my } ~~~ +**Important:** Make sure your url doesn't end in a forward slash ("/"). Adding the trailing forward slash will cause it to fail with a 404 error ([see #641](https://github.com/Squirrel/Squirrel.Windows/issues/641#issuecomment-201478324)). + **Tip:** You can also specify that the update manager should use `prerelease` for updating (see method signature for details). **Source:** See [Issue #442](https://github.com/Squirrel/Squirrel.Windows/issues/442) for more information. From b870405b9790a1d8856b88d7c14ef30eb3954960 Mon Sep 17 00:00:00 2001 From: Ken Bailey Date: Sat, 26 Mar 2016 00:05:22 -0600 Subject: [PATCH 2/3] Add Visual Studio Build Packaging docs based on notes from #630 --- docs/using/packaging-tools.md | 1 + docs/using/visual-studio-packaging.md | 43 +++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 docs/using/visual-studio-packaging.md diff --git a/docs/using/packaging-tools.md b/docs/using/packaging-tools.md index f543cacab..f38fbe2fb 100644 --- a/docs/using/packaging-tools.md +++ b/docs/using/packaging-tools.md @@ -8,6 +8,7 @@ The following tools can simplify and/or automate the packaging process. * [NuGet Docs](http://docs.nuget.org/) - documentation for NuGet packaging manager. * [NuGet Package Explorer](https://npe.codeplex.com/) - GUI tool for building NuGet packages. +* [Visual Studio Build Packaging](visual-studio-packaging.md) - integrating NuGet packaging into your visual studio build process. * [OctoPack](octopack.md) - steps to use OctoPack to build the source NuGet package to provide to `squirrel --releasify`. * [Auto.Squirrel Package Manager](https://github.com/tenacious/Auto.Squirrel) - tool to fully automatize the application deploy, from build to upload the updated files. diff --git a/docs/using/visual-studio-packaging.md b/docs/using/visual-studio-packaging.md new file mode 100644 index 000000000..8de392cfc --- /dev/null +++ b/docs/using/visual-studio-packaging.md @@ -0,0 +1,43 @@ +| [docs](..) / [using](.) / visual-studio-packaging.md +|:---| + +# Visual Studio Build Packaging + +Squirrel packaging can be easily integrated directly into your build process using only NuGet and Squirrel. + +## Define Build Target + +The first step is to define a build target in your `.csproj` file. + +```xml + +``` + +This will generate a NuGet package from .nuspec file setting version from AssemblyInfo.cs and place it in OutDir (by default bin\Release). Then it will generate release files from it. + +## Example .nuspec file for MyApp + +Here is an example `MyApp.nuspec` file for the above build target example. + +```xml + MyApp 0.0.0.0 title authors description false Copyright 2016 +``` + +## Additional Notes + +Please be aware of the following when using this solution: + +* Solution needs to have nuget.exe available which can be accomplished by installing `NuGet.CommandLine` package in your solution. + + ~~~pm +PM> Install-Package NuGet.CommandLine + ~~~ +* It suffers from a bug when sometimes NuGet packages are not loaded properly and throws nuget/squirrel is not recogized (9009) errors. + **Tip:** In this case you may simply need to restart Visual Studio so the Package Manager Console will have loaded all the package tools + +--- +| Return: [Packaging Tools](packaging-tools.md) | +|----| + + + From 2debdc751b0eb3a04f013994e5ac15bbe3fbfe52 Mon Sep 17 00:00:00 2001 From: Ken Bailey Date: Sat, 26 Mar 2016 00:13:14 -0600 Subject: [PATCH 3/3] Add link in getting started doc to alternate approach. --- docs/getting-started/2-packaging.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/getting-started/2-packaging.md b/docs/getting-started/2-packaging.md index 034abba4a..ba69115d2 100644 --- a/docs/getting-started/2-packaging.md +++ b/docs/getting-started/2-packaging.md @@ -69,6 +69,10 @@ The `Squirrel --releasify` command completes the following: ![](images/1.2-releases-directory.png) +## See Also + +* [Visual Studio Build Packaging](../using/visual-studio-packaging.md) - integrating NuGet packaging into your visual studio build process to include packing and releasifying. + --- | Previous: [1. Integrating](1-integrating.md) | Next: [3. Distributing](3-distributing.md)|