Bug 14283 - Keystore location validation in Publishing wizard is misleading
Summary: Keystore location validation in Publishing wizard is misleading
Status: RESOLVED NOT_REPRODUCIBLE
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: Android ()
Version: 4.0.0 (C6)
Hardware: PC Windows
: --- enhancement
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2013-08-27 15:59 UTC by Bryan Moulton
Modified: 2016-12-27 22:55 UTC (History)
6 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED NOT_REPRODUCIBLE

Description Bryan Moulton 2013-08-27 15:59:14 UTC
In reference to case #44452

Using Xamarin.Android 4.8.02032 in Visual Studio 2010.

Scenario #1: Select "Create new keystore" and leave the Location box empty.
- You are allowed to continue to the next page, fill in the details and
create the package.
- It tries to create the keystore but fails due to
java.io.FileNotFoundException.
- Keystore creation errors appear in the output window, but the
-Aligned.apk is still created in the target directory after the output
window reports "Package aligning completed succesfully".

Scenario #2: Select "Create new keystore" and specify a relative filename
in the Location box, e.g. "test"
- You are allowed to continue to the next page, fill in the details and
create the package.
- It tries to create the keystore as C:\Program Files (x86)\Microsoft
Visual Studio 10.0\Common7\IDE\test (relative to the location the Visual
Studio executable), which of course fails due to an Access Denied error.
- Keystore creation errors appear in the output window, but the
-Aligned.apk is still created in the target directory after the output
window reports "Package aligning completed succesfully".

In both cases, it got access denied creating and loading the keystore, but
the packaging process continued on successfully producing the the developer
is very easily led to believe is a package ready to be published. Unless
the developer carefully read the output window, but then the last line said
it was successful.

There are two things that should happen here:
1. The Next button on the Publish Android Package dialog should not be
enabled until a valid filename is entered. Unqualified filenames should be
relative to the csproj file.
2. If an error occurs during packaging, the whole packaging process should
fail and report the error, not "completed successfully".

I used scenario #1 to publish the app, and it is indeed published, which is
why I was asking the question. Now that I know the quirks (bugs) of the
package creation process, I can package an update to the app using a valid
keystore filename and try to work out how to publish it.
Comment 1 Dominique Louis 2013-12-03 06:19:42 UTC
Punted to 4.10.x as enhancement.
Comment 2 Peter Collins 2015-12-02 18:49:59 UTC
The first failure scenario here is still valid, however I believe there are some publishing changes planned for a future release that may render this moot.
Comment 3 Jose Gallardo 2016-12-27 22:55:04 UTC
This functionality is now covered by the Archive Manager.
Marking the bug as Resolved / NotReproducible.

Thanks