ClickOnce Bootstrapper Manifest Generator and wyBuildLocked

I am looking for a suggestion or general comments related to using wyBuild in conjunction with Microsoft's ClickOnce by adding the wyBuild setup file as a Prerequesite in the ClickOnce project using te Bootstrapper Manifest Generator.

Here is a little background. I have an application that we have been deploying with ClickOnce. This application checks for various dependencies and Microsoft very nicely allows you to prompt the user to install them when they aren't present. For example Windows Installer 3.1, .Net 3.5 SP1, Crystal Reports, Microsoft SQLCE, etc. This application is a companion to a web appication so needs to be able to be installed from the website.

ClickOnce also handles the updates when they are deployed. The problem is we now have a client that installed this application on 12 different profiles on the same computer each running an independent SQLCE database with merge replication. This isn't a good situation, but ClickOnce limits the install to a per user basis rather than a single global install.

I've created an MSI install from Visual Studio and created a prerequesite for it, but ClickOnce won't do automatic updates on the prerequesites, so this is not a functional solution to roll out automatic updates.

Through my research I came across wyBuild and it seems to be a simple enough solution for my needs. But I am wondering if I am missing something obvious, or not so obvious with my approach. I hope that someone in this forum can offer some suggestions regarding this approach.

Is ClickOnce needed here? How would I assure that the dependecies get installed without it? I could do a standard Setup Project, but if I include the wyBuild output as a prerequesite, what is the difference between that and ClickOnce?

I am looking for a suggestion or general comments related to using wyBuild in conjunction with Microsoft's ClickOnce by adding the wyBuild setup file as a Prerequesite in the ClickOnce project using te Bootstrapper Manifest Generator.

First of all, wyBuild doesn't have prerequesites other than the .NET Framework 2.0 (or above). But I think what you're referring to is wyUpdate (the updater program).

The only files you need to include with your program are wyUpdate.exe and the client.wyc file that is produced with it. These are built using wyBuild. You can include these files in the same way you'd include any other file with your application.

Here is a little background. I have an application that we have been deploying with ClickOnce. This application checks for various dependencies and Microsoft very nicely allows you to prompt the user to install them when they aren't present. For example Windows Installer 3.1, .Net 3.5 SP1, Crystal Reports, Microsoft SQLCE, etc. This application is a companion to a web appication so needs to be able to be installed from the website.

ClickOnce also handles the updates when they are deployed. The problem is we now have a client that installed this application on 12 different profiles on the same computer each running an independent SQLCE database with merge replication. This isn't a good situation, but ClickOnce limits the install to a per user basis rather than a single global install.

I've created an MSI install from Visual Studio and created a prerequesite for it, but ClickOnce won't do automatic updates on the prerequesites, so this is not a functional solution to roll out automatic updates.

Through my research I came across wyBuild and it seems to be a simple enough solution for my needs. But I am wondering if I am missing something obvious, or not so obvious with my approach. I hope that someone in this forum can offer some suggestions regarding this approach.

Is ClickOnce needed here? How would I assure that the dependecies get installed without it? I could do a standard Setup Project, but if I include the wyBuild output as a prerequesite, what is the difference between that and ClickOnce?

I think you should alter you installation a bit. Namely, make Click Once execute an exe or msi files that installs your software system wide. Or avoid Click Once altogether. Click Once is good for small applications directed towards consumers, mostly because it runs on a per-user basis.

However, for business-to-business applications you really need a proper installer. Either using msi (built from scratch or using a program like InstallShield) or and exe installer (NSIS is a capable free installer).

And again, just include wyUpdate.exe and client.wyc as files with your program. More info about distributing wyUpdate.

First of all, wyBuild doesn't have prerequesites other than the .NET Framework 2.0 (or above). But I think what you're referring to is wyUpdate (the updater program).

The only files you need to include with your program are wyUpdate.exe and the client.wyc file that is produced with it. These are built using wyBuild. You can include these files in the same way you'd include any other file with your application.

My bad. I made a quick assumption about wyBuild that it IS an installer as well as a version update manager. That was my mistake. It isn't a problem though. I'll just do exactly as you suggest and:

1) Create a standard Visual Studio Setup Project MSI of the desktop client application. 2) Include wyUpdate and client.wyc in that project before building.3a) The if I want to use ClickOnce I'll use the Microsoft Bootstrapper Manifest Generator to make the MSI into a prerequesite and use a shell project to add .Net 3.5 sp1, Crystal Reports, SQLCE, and my program as prerequesites (this is a feature of both ClickOnce and regular distribution projects in Visual Studio) and publish it with ClickOnce. or3b) Simply build the application MSI with the prerequesites included and distribute with wyUpdate (not using ClickOnce).4) Use wyBuild to create future update images and copy to the appropriate update folder (applies to both scenarios).

Thanks for being a sounding board.

Oh.. incidently. I am familiar with NSIS and have used it on occasion. The only feature that it has that I would require that is beyond the built in Visual Studio Setup Project is automatic updates. This feature is well documented and used in many open source projects such as FileZilla, which I believe you have posted on in your blog. NSIS can become complicated if you let it, and for this project I want everything as simple as possible, which is why I am giving your software so much attention at the moment. I hope that it can simplify some issues I've been working out.

Sure, the Visual Studio Setup Project is frankly the best choice in many cases. Especially if you're on a deadline and don't care that much about customization.

I hope that it can simplify some issues I've been working out.

I'm here to help. 2.0.5 should be out in a week and a half (or so).

And if you have any other questions I'll gladly answer them.