Customize Setup Project Dialogs - winforms

Using VS2010 - I have a winforms project that I needed to make an installer for, I have that all done and it works great. But there's a lot of files in the Setup project I created and customizing all of the dialogs in the Unser Interface will be a huge pain. Because I think I have to build each time I want to test/preview it, which takes a loooong time.
Is there a simpler way to edit and customize these User Interface dialogs? I don't need to do anything too fancy. Hopefully something like, "Make a quick change, preview it, make another change, preview it, etc."
Thanks!

If you want to custom the User Interface Dialog, you can try InstallSheild. In vs2013, Microsoft use the InstallSheild Limited Edition instead of the the default setup project in vs2010.

Related

change an icon of an installed application using xamarin

I want to change the icon and the name of an existing application installed on the device. would be ideal if the application icon could somehow be hidden.
the project I am working on is using a secondary application that I do not want the user to see. only my application should be able to launch it.
but I figured I would have a better chance just changing the icon to something similar to my application.
is any of this possible?
If you do an update to the application it's straightforward to change in your application file. Do you mean you want to change the icon remotely without a redeploy? (It seems like an update could be easier).
In terms of the secondary application, can you give more details on what you're using it for? If you're doing Android development, for example, if you're just using this to do a background task and the user never interacts with it it seems like moving this to a service could be ideal.

WPF migrating backwards to vs2010

I have a WPF application I've been working on for about a month at work, but because of licensing issues I have to convert it back to vs2010 from a vs2013 project. I'm none too thrilled, but what can you do. I can only find material on upgrading from 2010 to 2013, not downgrading (which makes perfect sense).
Unfortunately but understandably, you can't open vs2013 projects in 2010, so I'm starting a new WPF project in 2010, and adding files in.
One of the things I've noticed is that 2010 doesn't seem to have App.config, or App.xaml and App.xaml.cs. I am using App.config to store connection strings, and App.Current.Properties to store data from window to window in the application although that functionality doesn't seem to exist.
I do not know what to do to make this work. Is there a major difference in how one is supposed to program WPF from VS2010 to VS2013? I don't know to get around these issues. I'm perfectly happy to rewrite code if I have to, but I don't know what the old way to do these things may have been.
It turns out I had accidentally created a Windows Forms project in vs2010, which was the source of most of the issues. However, when I switched it to a WPF project, I did still need to add a reference to System.Configuration, and add a couple of using statements. It turned out to be relatively painless. Then of course the other thing you have to do is make sure the startup uri is set to what you want. It's in App.xaml, and in my case I change it from
StartupUri="MainWindow.xaml"
which is the default,
to
StartupUri="LoginWindow.xaml"
which is of course my login window, which I want to launch straight away.
The only other thing to do is move the data classes over, move the .xaml files over, and move the .xaml.cs files with them. Then just use 'Add Existing Item' to put them all in the project. Pretty straightforward.

Any way to add custom code activities to VS toolbox for any workflow project?

What I would like to achieve is to have 2 tabs with custom code activities added automatically to the toolbox every time a new activity is created in any (workflow) project. Ideally this should be done through some code or installer.
I found a solution using the Visual Studio Integration Package but that one is not suitable for me (as it needs the SDK).
I have also tried using the IActivityToolboxService interface but that worked only for creating the tabs in the toolbox. And I was able to create them only if I (already) had access in toolbox to my custom activities.
Any other ideas are highly appreciated.

VS 2010 Setup Project show form conditionally

I'm creating a setup for my application. The application consists of a main application and an AddIn to Outlook. I wish, that the user is able to select by checkbox, if Outlook AddIn should be installed.
My problem is, I don't want to show/enable that checkbox if outlook is not installed.
How can I achieve this? Can I somehow show install dialog conditionally, base on some code, where I would check if Outlook is installed? Or can I disable this checkbox base on some code?
Please help,
thanks a lot!
Greetings
First, to identify if Outlook is installed you need to define a search in the MSI package.
Then, to show a dialog based on a condition you need to edit the published events for a couple of buttons (Back and Next) from the surrounding dialogs.
To show a control conditionally on a dialog you need to use a control condition.
All of this is not possible to do in a VS Setup Project. I would recommend switching to WiX (http://wix.sourceforge.net/) if you are looking for an a better free alternative, this can integrate with VS too. I would switch from VS Setup project and because Microsoft decided to stop including it in VS 2012, so then you will be forced to stop using it.
If you don't want to go to WiX right now, the only way to do what you need in VS is to add a post-build event that alters the MSI tables and inserts the changes you want, i.e. the search, control condition, etc...

Final steps in using MVVM to decouple GUI from business logic?

Just recently, I learned about using MVVM to decouple GUIs from the underlying model. I ended up learning as much as I could to convert my current application over to MVVM, and was largely successful. Now I need to figure out how to actually take a GUI generated in Blend and use it in place of my current GUI, which was designed in Visual Studio. I can't find any resources on the web for making this as seamless as possible. I'd like to know what you all have done and have had work for you.
My ultimate solution would be something that would allow me to, at runtime, select a skin from a menu and immediately have the GUI change from the current one to another that the user selects. Can anyone point me to posts that explain how to do this?
My current goal is less ambitious -- I'd like to be able to add my new Blend GUI into my Visual Studio project and when I compile, have the new Blend GUI appear. If I want to go back to the old GUI, I would have to recompile. For now, that is okay.
I've got my Blend project added to my VS2008 solution, and have set it to be the startup application. That works fine -- if I run the app, my new GUI appears instead of the old one. The problem now is that it needs DLLs that are actually in a different folder -- the bin\Debug folder of the original startup application. Am I supposed to leave my original GUI as the startup application, and then have its App codebehind load the other GUI?
Also, each of the respective GUIs needs a reference to the ViewModel. In my case, I was just instantiating it in my current GUI class. For the Blend GUI, I instantiated one there as well, since only one of the GUIs will be active. Is this where something like the Unity framework should be used?
Sorry about all of the possibly-incoherent questions, but I'm not quite sure how I should proceed from here. I feel like I'm so close to proving to myself that MVVM is the way to go from a GUI standpoint (I'm already sold on the testability bit).
All the examples I've seen dynamically switch GUI appearance by using some form of ResourceDictionary swapping. A few links:
Load XAML Resource Dictionaries at Runtime
WPF change theme/style at runtime
Hope that helps.
I found a mistake, where in one part of my code I was using the wrong property to get at the currently-running assembly's path. I am now using
System.Reflection.Assembly.GetExecutingAssembly().Location
Although this does work, it only works if I copy the exe from the Blend project's bin\Debug folder into my main application's bin\Debug folder. I will have to live with this by using a post-build event, I guess. I was so spoiled for the past several months working with .NET, where I didn't have to do this (like before in C++) because all of the referenced assemblies get automatically copied over. If I want to debug any code-behind, I also have to set the starting executable in the Blend project's settings, which is inconvenient as well, especially when working on different computers where the paths aren't set up the same. Any suggestions here would also be appreciated!

Resources