Visual Studio 2008 C#: Auto-Increment Version numbers - c#

From what I'm seeing online, it seems the only thing in VS that auto-increments the Version numbers is if it's a website. For applications, it seems you either manually have to do it or you have to have a post build event and call a function or small app to do it for you. But, that's only what I'm seeing when I google it and when I've tried messing around with it myself. My questions are:
Can an application auto-increment the version number on a successful build without having to do the afore mentioned? Like a checkbox hidden deep in VS or something?
If no, is there a way to Publish an application rather than it being published as a website?
If it can, is that even the write way to go?
I know I've seen some instances where you can use the install package to increment the number, but my boss would like to start seeing how many times we build the applications so he can show to our customer the work being put into the application. If anyone can help me, that'd be great. Hope you all are having a good day. Thanks.

my boss would like to start seeing how many times we build the applications so he can show to our customer the work being put into the application.
Why not just publish your change logs and/or bug/feature database?

Related

2 dev computers, 1 C# solution using TFS?

I work on a team using TFS to manage a C# project. I have 2 development computers, a high end desktop and a laptop.
Ok, the TFS server is located many states away. The other developers are around the globe. I work out of my house. I really didn't think I needed to include this when I said "I am on a team"... Guess I was wrong. I also have no ability to make any changes to the TFS Server and no one outside of my office will change anything anywhere to help me do this.
I work on both. When I switch from one to the other, I have to remember to copy the files (which I often forget or don't have time to do).
I thought I could put the source files on OneDrive/DropBox and edit them there. It worked fine for one computer, but the other said:
"The solution appears to be under source control, but its binding information cannot be found. Because it is not possible to recover this missing information automatically, the projects whose bindings are missing will be treated as not under source control."
Any idea how I might fix this (doesn't anyone have ideas on this???) - or other ways I might solve this?
I just like the idea of working on my desktop, but being able to grab my laptop and run when I have to.
Links to existing answers are appreciated, but I couldn't figure out what to search on that addressed this (although I am sure it has been asked before.)
Thanks!
Trying to use a share for your local workspace is going to be something that runs into little quirks all along the way.
I would recommend using the Shelve feature. You would Shelve from one computer, then unshelve from the other. It basically takes your chosen changes and moves them onto the server such that you then can unshelve them onto the other computer. It is a way to save your changes to the server without checking them into the project. You have your own shelvesets that don't effect the main branch.
Alternative : Use Git
TFS : Map your project which is in TFS into any folder on your local. And check it in when you develop. And in other computer, press Get Latest button by clicking right click of your mouse to solution.
EDIT:
If you want to use TFS, go TFS Express without download or setup.
Why you need to copy the files instead of just use TFS checked in and get latest version?
This will guaranty you have the latest version of code on both machine without problem.
Please also checked in your projects and solution files into TFS, and you don't miss anything.
If you think it will affect others, you can have your own branch to working on.
The solution I have so far (not ideal, but works) is to use OneDrive (or DropBox - I just use OneDrive since it has more storage). On the laptop, I downloaded the entire project. All the TFS flags are set for the laptop, but the desktop can see them just as well. I can code on the desktop, and as long as I hit "save all" before I leave, I can race out the door with my laptop and work remotely, with all the current code.
The drawbacks of this approach are:
1) When I open the project on the desktop - it complains since all the TFS references are for the laptop. But only when I open it.
2) I have to use the laptop to get current and push changed files. Not a big deal.
3) I can't really work on both the laptop and the desktop at the same time - but don't really care since I don't need to and that wasn't the goal anyway.
The benefits:
1) I don't have to remember to copy from one location to another, check for changed files, etc.
2) As long as I have my laptop, I can work. No need to check in code, shelve code, or play any other silly games in order to keep them in sync.
3) I can race out last minute and always know I have all the code in whatever state it was in.
In the long run, I would still like a slightly better solution. I am guessing that I could tell OneDrive not to sync the TFS folders/files on each machine and then that would eliminate the message I get when I start on the desktop, but at this time, it's not worth the effort to figure out how to do this (although, if you know, feel free to comment.) But overall, I am now quite happy.
Fletcher
Since I always have my laptop when at the desktop, but the opposite is not true, this works for me.

Visual Studio 2017 C#: How to create an Installer that can provide continuous updates

I've been trying to find an answer to this for weeks. Hopefully you are able to help me out! :)
I've got a C# application. It has multiple classes and multiple Forms. The forms also have images on them in PictureBoxes.
These images are all stored in an Assets folder inside the bin folder i.e. /bin/Assets.
When developing, I run the application in Debug mode.
I have looked on YouTube and all areas of the internet to find how to create an installer for my application. I see a majority of posts about ClickOnce deployment, which looks like it's what I want. The issue is that the ClickOnce wizard asks you where to install the application:
I do not have a server to host the application on (I have tried examples I've seen such as \localhost\myfolder\myApplication) I do, however, run my own website through a NameCheap host where I could provide a link to the application for users to download. I'm not quite sure how to set this up though.
I do not want the users to install from a CD
I don't know how to do the File Share method
This is the first obstacle. Regardless of what I choose, I cannot get the setup to work. I think the big issue is that I can't find how to include my Assets in the project and I don't know where to install the application.
The next obstacle, is that when users download my application, I would like to be able to push out an update, and have them have the update automatically (or only need to restart the application to get the update). I do not want them to have to re-download the application every time there is an update, as there are updates several times per week.
Again, I believe ClickOnce handles this but since I cannot even get to this step, I am not sure.
So, in the end, this is the use-case:
User is able to download the application from a website. Once application is downloaded, all further updates to the application are pushed automatically or only require a restart of the application to obtain.
I have gone through all the documentation on ClickOnce as well. Specifically this link. My issue is on #4.
I hope you are able to help, thank you!
Sharing the installer should not be an issue you could simply do that through Dropbox.
You can host your Updater on Dropbox as well but anytime you have new Updater replace the old one so the web link remains same and that it is because you need to know the the Updater link in advance to put it in the original installer.
You mentioned that you have a website through NameCheap, I believe you could use that instead of Dropbox here is a youtube links that might help.
https://www.youtube.com/watch?v=PEXcWln2Fe8
https://www.youtube.com/watch?v=rUNQphoGVwQ
I personally don't use ClickOnce but I use A Microsoft Windows Installer and I develop my own updater. ClickOnce is easier use for you at this point but later in future, you could explore other ways.
Wish my answer is clear if not just let me know,
Good luck

How do I determine why our application crashes for some people, but not others?

This is a tough problem, which I'm not sure how to solve. (Hence my asking here, :) ) I'm on a team of about a half dozen developers working on a WPF app. At this stage we've got a working application. Not all of the features are in it yet, but we're making progress. Everyone on the team can run the app, except for our boss who has a problem running it. When the app first starts it brings up a start screen/landing page with some buttons. All of the rest of us when we run the app we can easily click on any of the buttons. One of these buttons is labels "Orders" and takes the user to another screen where they can work on the orders. When our boss runs it, the app always crashes. However it doesn't do this at all for me, nor any of the other developers. This makes it really hard to figure out what's wrong because I can't duplicate it. I've got to admit that the problem might not be with WPF, but might instead be with the .NET framework, but at this point I don't know. I've got to start somewhere.
So ultimately the question is this, how do I determine what's failing on a different machine than my own? One that I don't have access to?
We're working with VS 2015, .NET Framework 4.5.2.
Diagnostics and logging.
Add as much diagnostic code as you can think of (and then add some more) to the code and log it to a file or the event log or a remote database or where ever. This would include call stacks, parameter values, system information etc. Then when the application crashes you can examine these logs and determine what's different between your machine and the customer's.
Without this information you're just guessing.
Quick check before you do anything else: right after a crash run Event Viewer and go to Windows Logs -> Application. You should see a number of messages related to the app and the crash including exception information that often sheds light on exactly what's going wrong.
You can put some crash report controls,
Find similar question hear exception-reporting-from-a-wpf-application
or try something from hear : CrashReporterdotNet
,
Crash nuget
This is a long shot, but easy enough to research. Your problem may have its root cause in hardware. Compare the video cards of your peers and boss. Your boss may have a card that's not within the Microsoft recommended guidelines. In WPF, there are ways to manage rendering based on the hardware.

Error building project after uploading UI to tfs

I'm very confused and i was hoping to get some insight into this. I have been working on a project for a few months and everything was going great until i decided to upload the UI to TFS for a front-end dev to work on.
This is multi layered project consisting of Data, Business and UI. I have uploaded many projects before but never had this issue. I have taken a screen capture to help explain the problem. As it's my first time running into this issue, I'm not sure how to explain.
Any help on this would be great, thank you in advanced.
Check your check in files, looks like the build templates have been accidentally included.

C# 2010: Deploying Multiple Apps..Need Sure Fire Way To Update

For starters I have whored myself out to the Internet in general as far as search is concerned. Got nowhere and am pretty Google proficient. Maybe I missed something..Enough of that.
As mentioned above C# 2010 (3.5->4.0 running on Win7x64 but would like the app to be fully compatible with XP/Vista). Dealing with XP(w/SP3) to Vista/7 clients. Working on an app that will allow my company to more easily connect to their local desktops via RDP. My app is awesome as far a usability, but eventually, my programming will catch up to me, bend me over, and do me hard.
I am looking for a sure-fire way to update the main app. I am deploying a secondary app to pull this off (app downloads updateApp from developer website if xml file has newer version, updaterApp updates main app; main app updates the updaterApp--if needed).
Looking for reinforcement or better ways to accomplish this as the app depends on admins + (possible) SQL + AD + SMB + SSH auth.
Things I have run into:
http://themech.net/2008/09/check-for-updates-how-to-download-and-install-a-new-version-of-your-csharp-application/ (at this point, what I like)
http://digitalformula.net/technical/c-self-updating-application-without-clickonce/
http://www.eggheadcafe.com/articles/pfc/selfupdater.asp
So that's what I am looking at. Would love to find the right solution with details/great code/examples. I am MOST WORRIED about admin access in Vista/7 on the 'Program Files' directory look forward to the discussion. Hope all of the info is here. Thank you so much in advance!
What about clickonce?
I read good and bad things about ClickOnce. One of these days I will sit down and figure out how it works. For now I went with update code inside the main application. Its pretty kewl. It starts a new thread to download and run the MSI package. I found it here.
http://themech.net/2008/09/check-for-updates-how-to-download-and-install-a-new-version-of-your-csharp-application/
Hope that helps someone looking to spin your own. I liked this approach because I did not have to create a second program.
Use clickonce
.net has this built in, we use it for our LOB apps, works fine.

Categories