.net 2.0 setup project with custom action and InstallState file - windows

In my application I have one windows form application and two windows services. Currently I am using .net setup project to install application and windows services. I have added custom action which opens windows form and accepts SQL server detail to creates SQL database for the application.
I am raising InstallException if user closes or clicks Cancel button on the form to cancel setup wizard.
The problem I am facing is after cancelling setup wizard using InstallException, it gives error "Error 1001. Could not find file 'C:\Program Files (x86)\MyApp\MyService1.InstallState'." for both of my windows service one by one.
For temporary solution I kept both InstallState file and added manually in my setup project which adds both InstallState file to installation directory.
It worked for few months. But after some change in application it started giving me some other error "Error 1001. Object type not found for element ArrayOfKeyValueOfanyTypeanyType System.Collections.Hashtable"
I found that it need to add again new InstallState file for the changes.
I think this is not the proper way to adding InstallState file manually.
Has anybody other idea to implement in my setup project to overcome this problem?
I need to rollback SQL database changes(creating database) if user cancels installation wizard at the time of installation and if user cancels un-install wizard it should not delete database.
Thanks in advance.

I solved the problem my self. The custom action sequence was
1)Custom action dll
2)Windows Service 1
3)Windows Service 2
I changed sequence to
1)Windows Service 1
2)Windows Service 2
3)Custom action dll
I think it was trying to rollback windows service state and windows service was not installed in 1st case

Related

Login failed for user 'sa' when the app is run from VS 2015

I have a console application which hosts two WebApi applications using OWIN Self Host approach. One of the apps uses EF6 with Code First. When I run the executable from the bin folder and make a request to the WebApi, everything works like it should - if the database is already created it just returns the results, otherwise it creates the db first. But if I start the console app from Visual Studio (with debugging), I receive the following error:
Additional information: Cannot open database "{db name}" requested by the login. The login failed.
Login failed for user 'sa'.
Anyone has any ideas why this happens?
EDIT: Problem is not related to the self hosted apps. I referenced the dbcontext directly in the console app and the same issue happens. I also tried Integrated Security and it still fails with "Login failed for user '{DOMAIN\USERNAME}'."
EDIT 2: I fixed my problem by doing deleting the .suo file. That helped me find these two questions mentioning the same solution:
Login failed for user "xxx" Failed to open the explicitly specified database solution
EF 4.1 code first causes weird (login) runtime errors
Can anyone say the reason why the .suo file causes this?

Team Explorer Everywhere - Domain user could not be validated

I am using Team Explorer Everywhere command line tool on a mac. I've setup a connection to the TFS and i got my files. Checked them out for editing and i see on another machine they are indeed checked out. Now when i try to check them back in i run
sudo tf checkin MiniOrka.iOS -recursive -comment:Testing -login:myUsernam#myDomain,myPW
But all i get is:
Exception in thread "main" com.microsoft.tfs.core.ws.runtime.exceptions.SOAPFault: >RebuildCallersViews: Connecting Domain User could not be validated. ---> >RebuildCallersViews: Connecting Domain User could not be validated. ---> >RebuildCallersViews: Connecting Domain User could not be validated.
at com.microsoft.tfs.core.ws.runtime.client.SOAP12Service.examineResponseDOMForFault(SOAP12Service.java:127)
at com.microsoft.tfs.core.ws.runtime.client.SOAPService.examineBodyForFault(SOAPService.java:826)
at com.microsoft.tfs.core.ws.runtime.client.SOAPService.executeSOAPRequest(SOAPService.java:454)
at ms.tfs.workitemtracking.clientservices._03._ClientService2Soap12Service.getMetadataEx2(_ClientService2Soap12Service.java:745)
at com.microsoft.tfs.core.clients.workitem.internal.metadata.Metadata.update(Metadata.java:515)
at com.microsoft.tfs.core.clients.workitem.internal.metadata.Metadata.update(Metadata.java:482)
at com.microsoft.tfs.core.clients.workitem.internal.WITContext.(WITContext.java:97)
at com.microsoft.tfs.core.clients.workitem.WorkItemClient.getContext(WorkItemClient.java:359)
at com.microsoft.tfs.core.clients.workitem.WorkItemClient.query(WorkItemClient.java:521)
at com.microsoft.tfs.client.clc.vc.commands.CommandCheckin.checkWorkItems(CommandCheckin.java:354)
at com.microsoft.tfs.client.clc.vc.commands.CommandCheckin.run(CommandCheckin.java:181)
at com.microsoft.tfs.client.clc.Application.run(Application.java:294)
at com.microsoft.tfs.client.clc.Application.run(Application.java:144)
at com.microsoft.tfs.client.clc.vc.Main.main(Main.java:33)
And my files remain checked out. I am a member of the Contributor group (they can add, modify and delete items within the team project).
Anyone know how to fix this?
Try using -login:myUsernam#myDomain and entering the password at the prompt that follows.

Create an EVENT SOURCE using web setup project

I am developing a website using MVC 3,
I have a web setup project for installing it to my localhost.
Now what I want is to create an EVENT SOURCE ( where I will later on log using my website ) using this very setup.
Is this possible?
I have been following this link:
http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015%5Feventlogaccess
I earlier tried creating an EVENT SOURCE programmatically, but my web app threw security exceptions, similar to the error the user in this post was getting: System.Security.SecurityException when writing to Event Log
Thanks in advance
Yasser
After a lot of struggle I myslef managed to answer my question
I first had to create a seperate installer class, which had code to install an event source.
Next in my web setup project, under custom action in INSTALL, I simply added the output of the above project which was a single dll.
and thats it!
Now whenever my web setup runs, the installer dll is also activated and run and my event source gets created.
Now that was not too difficult was it ? ;)

My Working Application MVC3 Razor Unexplainably stopped working :-( IIS 7

I have the following projects within my solution.
MyWebApplication.Data --> Here i interact with my Data Repository
MyWebApplication.Services --> Here i interact with the Data Layer
MyWebApplication.Web --> The UI which relies on the Service Layer
MyWebApplication.Tests --> Unit testing project
For MONTHS i have had NO problems with IIS in my local dev environment. Ready for a long weekend of programming but all day i have been getting 500 Server Errors when simply trying to resolve the Home page. Before I went to bed all was well, the entire day thereafter i could NOT even load the home/index view.
After looking at the logs it says continually MyWebApplication.Data.System (which is a class i created called System()) does not include Web. But no where in code is this true. Then i get another error of mismatching files in the Temp Directory.
Steps I have taken:
Deleted all temp files
Created a new repository in IIS and pointed URL there, No luck
Cleaned solution
Deleted all bin folders to have regenerated... No Luck
PLEASE HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Without the details of the error messages, one strategy may be to create a new MVC project and copy/paste the files over to it.
A few other common causes:
Are you referencing any 64-bit libraries but compiling the project as 32-bit (or vice-versa)? Try changing the "bitness" of your application.
If your application is 32-bit and is running on a 64-bit server, you need to enable running 32-bit apps in IIS. See http://exhibita.com/blog/post/2010/03/30/IIS-75-on-x64-with-32bit-applications.aspx
If all else fails, please post the exact error messages. If all it says is "HTTP 500: Internal Server Error", you should enable debug output or run your app from the server itself (actually using a web browser on the server), which will tell IIS it's "safe" to display full debug information. The debugging messages have actually been pretty useful in my experience.
Figured it out. In
MyWebApplication.Web project, within the Shared/Site.Master I added a imported a reference to my Data Layer. (i.e., <%# Import Namespace="MyWebApplication.Data" %>
I resolved by removing the static reference to my ShoppingCart class in the Data layer and just created an ActionResult to return the same and in the MasterPage (which currently holds the javsscript to allow the user to peek into their cart from anywhere in the site without a redirect to a specific page) used the Html.RenderAction() and just returned Content(shoppingCartString).
Guess I have learned that within the Site.Master page it is complied differently than every other page in an MVC application. I can positively say this because in other pages I am doing exactly as I attempted to do here without any issues. Maybe its the build process?
Anyhow, problem solved and hopefully it can help someone else too.

Getting a 404 when using .NET 4 on IIS 6, with or without MVC

I've completed this set up on a fair few IIS 6 boxes, but one is giving me a tough time.
The problem occurs when I add the application extension mapping to:
c:\windows\microsoft.net\framework\v4.0.21006\aspnet_isapi.dll
When this is in place, I get a 404 error on every request.
Even if I remove all files from the application directory apart from a basic test.htm and navigate to that, I still get a 404.
I've unchecked the "Verify that file exists"
I've set up a .NET 4 application pool and pointed my application to that
I've changed the ASP.NET version to 4.0.21006
I've checked the IIS log file, and there's nothing useful in there (it only shows the first bunch of requests after each reboot and then stops logging)
I've checked the application event log and nothing gets reported
I've installed MVC 2
I've copied the set up onto another box, just to be sure, following all the same steps - and it all works!
What else can I look out for??
N.B:
If I set .NET to v2 in IIS, then I can successfully navigate to \test.htm
Go into Web Service Extensions in IIS and set ASP.NET 4.0 to Allowed instead of Prohibited.
Like this:
BTW: This happened to me in the RTM version of .net 4 as well, so it's not just the betas.

Resources