ClickOnce CD Deployment

Is anyone else having problems with the ClickOnce deployment in VB2005 Express

I am trying to do a CD/DVD Deployment using the Publish feature, and I have the publish settings to include or "download from the same location as my app" but whenever I go to build it says that it cannot find the DotNetFX or the Windows Installer 3.1 files. I even tried to manually download them and plop them in the folder but I still can't build without errors. And all of the errors are coming from the publish feature.


Thanks for any help.

MSS




Answer this question

ClickOnce CD Deployment

  • Michel Rotteleur

    Ok, here it is.  After much research I think I have found the solution.  At this moment, it works for the following:

    .Net 2.0 Framework
    J# Redistributable
    Windows Installer 3.1

    At this moment I have not figured out the SQL 2005 Server Express becuase, while I have figured out the basics of the bootstrapper, I have not figured out the public key and the xml product.xml file enough yet to write the correct one.  The others were already included, but this one was not.

    For those who downloaded any of the express editions, you can find them on the CD images you downloaded under the "wcu" folder and its sub folders.  What you will need to do is copy the correct files to the correct paths.  Below is a list (sorry it is long, but necessary)

    For the .Net 2.0 Framework:
    copy the files:
         dotnetfx.exe
         WindowsInstaller-KB893803-v2-x86.exe
    to the folder (which is the default if you installed with default paths):
         C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\DotNetFX

    * There is one other thing you will need and that is the instmsia.exe (msi 2.0 installer) which can be downloaded from:
    http://www.microsoft.com/downloads/details.aspx FamilyID=cebbacd8-c094-4255-b702-de3bb768148f&DisplayLang=en

    For the MSI 3.1 installer:
    copy the files:
         WindowsInstaller-KB893803-v2-x86.exe - The same file that you just copied to the
         DotNetFX folder.
    to the folder (again, the default path is given):
         C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\WindowsInstaller3_1

    For the J# Redistributable:
    copy the files:
         vjredist.exe
    to the folder:
         C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\VJSharpRDP

    For the SQL 2005 Express:
    copy the files:
         SQLEXPR32.EXE
    to the folder:
         C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\SqlExpress\en
    NOTE - At this moment it is good to copy the file, just to have it, but the product.xml file is not created specifically for this to be installed via CD/DVD so it will not work for CD/DVD publish at this moment.  I am however working to solve this and would greatly appreciate any assistance on this matter.

    Now, after you have done these steps you should be able to publish to a CD/DVD and choose the option to have the files "downloaded from the same location as application" without any errors unless using the SQL as a prerequisite.

    At this moment, I will gladly make a selfextracting WinRAR file (secured and nonmodifiable) for anyone who might find the above too complicate, however, the package will be quite huge and it may be quicker to do this yourself from a CD/DVD file you downloaded.  If you did not download the .ISO or .IMG files for the VS2005 Express editions you will have to find them from microsoft.com and download each of them prior to the instructions above.

    I hope this helps everyone in the community.  It took me several hours of searching in odd places to solve this.  If, for any reason, you have any errors, let me know.  If you are interested in this, contact me at my gmail account enochgenesis(at)gmail(dot)com.  Please note that I use this as a substitute and public email account so I might take a while to respond.  Also, while I don't believe that would be causing any probs with microsoft redistributables (me packaging them and giving them to you) if microsoft asks I will not do this and will remove this info from the post.  I am not looking to cause any issues with microsoft... only trying to help the community.

    Thanks!

    ================================================================

    Just wanted to pass along an update.  It was brought to my attention that there should be an "en" at the end of the SQL2005 Express path.  I haven't tested this yet and I am still behind on trying to figure out the SQLExpress information for the ClickOnce Deployment bootstrapper.  If you have any suggestions/ideas/comments, let me know.



  • Kannan.B

    I'm not entirely sure I follow you here. Are you doing this in VB 2005 itself, or in another scripting language. It looks like you are using VB to create an installer. If this is the case, it won't work because you have to install .NET 2.0 BEFORE you can use any .NET 2.0 software, and VB2005EE only creates .NET 2.0 apps.



  • lvance1611

    hi !

    I have red this post, bat i have some question.

    as you wrote, I make copy of      dotnetfx.exe  ,    WindowsInstaller-KB893803-v2-x86.exe files in

    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\DotNetFX package.

    my script is :

    SdShowMsg("Installing WindowsInstaller, this may take few minutes, Please Wait...", TRUE);//L \/Q\
      if (LaunchAppAndWait (INSTALLDIR^"distrib\\WindowsInstaller-KB893803-v2-x86.EXE", "", WAIT) < 0 ) then
       MessageBox ("Unable to install WindowsInstaller",SEVERE);
         endif;    

      // .Net Framework 2.0                             
      SdShowMsg("Installing .Net Framework 2.0, this may take few minutes, Please Wait...", TRUE);//L \/Q\
      if (LaunchAppAndWait (INSTALLDIR^"distrib\\DOTNETFX.EXE", " \/Q:A \/C:\"INSTALL.EXE \/L \/Q\"", WAIT) < 0 ) then
       MessageBox ("Unable to install .Net Framework 2.0",SEVERE);
         endif; 

    it executes and doesn't show any error bat really doesn't install .Net,

    and when  I install , independently  from script,  windows installer, it goes to finish, bat really doesn't installed!

    what is a wrong is some idea for correct instalation

     

    Can u help me



  • JAlexandrian

  • Waquas s

    EnochGenesis - Thanks for the excellent post and saving me countless more hours of stress and dispair. Just wanted to confirm for others that this works to get a publish working!

    Thanks,

    Brad


  • cm4719

    Actually, there was. I suggest you select "Download prerequisites from the component vendor's web site" for now. I was able to publish/deploy my app and successfully installed it in another computer. ClickOnce will download and install .NET Framework 2.0 and Windows Installer 3.1 as prerequisites in no time at all. If your app needs SQL Server as well, of course, the installation would take a little bit more time. My point is hey you could get your app installed. We'll just keep on looking/researching why the other option (the original problem) is giving us problem. Besides, it's a nice feeling seeing your app working in full glory in another guy's computer.

  • Victor G

    EnochGenesis wrote:

    For the .Net 2.0 Framework:
    copy the files:
    dotnetfx.exe
    WindowsInstaller-KB893803-v2-x86.exe
    to the folder (which is the default if you installed with default paths):
    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\DotNetFX

    * There is one other thing you will need and that is the instmsia.exe (msi 2.0 installer) which can be downloaded from:
    http://www.microsoft.com/downloads/details.aspx FamilyID=cebbacd8-c094-4255-b702-de3bb768148f&DisplayLang=en

    For the MSI 3.1 installer:
    copy the files:
    WindowsInstaller-KB893803-v2-x86.exe - The same file that you just copied to the
    DotNetFX folder.
    to the folder (again, the default path is given):
    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\WindowsInstaller3_1

    Hi,

    Do you know if it's absolutely necessary to have 2 copies of WindowsInstaller-KB893803-v2-x86.exe as stated above

    Thanks,
    Lee


  • Adnane Aqartit

    Well, Unfortunately it is required to have two copies. The reason is this. If you choose, from the deployment options, windows installer as a prerequisite, but not .NET, then it will only grab the windows installer package from C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\WindowsInstaller3_1.

    If, however, you tell it to have .NET as a prerequisite (which you should considering the Express Editions only use .NET 2.0), then it will install the packages only from the C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\DotNetFX. That is where the problem lies. The DotNetFX (.NET 2.0 Package) requires at least Windows Installer 3.0 (I believe). But the Deployment application (ClickOnce) looks for the Windows Installer 3.1 Installer in the DotNetFX folder (even if you don't check the Windows Installer 3.1 as a prerequisite).

    I've tried it without both copies and found it didn't work, but with both copies, both requirements are met for the ClickOnce Deployment. It is simply the way it was scripted.



  • desertgeek

    It's ok. I didn't mean to cause any confusion or misunderstanding, and am in no way trying to argue with anyone. Maybe I should have made the initial question more clear, and that is my fault.

    I have already done the ClickOnce Publishing where it downloads the prerequisites. The point of this thread was strickly for CD Deployment. The other thread does suggest simply using the "Download from vendor" option. I was strictly trying to see if anyone had any leads on why the "CD/DVD Deployment" was not building when publishing. Personally, I know that the internet is a great and wonderful resource, and sure, you can download things. But I also know that where I am from, most people have dialup and don't even perform windows updates because it takes them forever. (That's what happens when you live in the country side.) The software I am developing is not for someone who has internet access, but a small business in a small town where the software is not used for anything but a local administration.

    But again, thanks for the link to the other thread as it helped me see that there is indeed someone else who has had the same issue. This definately sounds like a bug in the scripting side of the publishing. Again, I hope I have not upset you with my response, I am simply stating that the thread didn't solve the issue I was trying to raise in this thread.



  • Jmarte

    reybhoie wrote:
    check this out

    http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=194464&SiteID=1

    hope this helps

    Thanks for the link to this post. Actually, it is the same discussion, but there are no results in that discussion that solve this issue. I did however, make a post to that thread to hopefully stir the information in the right direction. Thanks again for the effort and direction, reybhoie.



  • ClickOnce CD Deployment