ClickOnce发布过程中的学习

  简单普通的发布过程网上可以搜到一大把,但是针对复杂项目的发布需要进一步加入一些东西。

  目前要发布在公司局域网,先在IIS上新建一个网站配置好物理路径D:\piis\, IP 192.***.**.12 端口 8016。发布其他选项跟“在IIS上发布”一样设置,“选项”设置中配置如下图:

ClickOnce发布过程中的学习_第1张图片

先发布版本1,在D:\piis\中找到发布的版本1中的exe、dll文件复制下来。

  然后,在C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages路径下新建一个文件夹(64位,VS2013),这个文件夹直接相关你将要发布的项目,名字尽量类似。在这个文件夹中的内容可以从Packages目录下找一个完整项目将内里的文件都copy过来,然后将之前发布好的要求复制的exe、dll文件存入这个文件夹。接下来是修改最重要的product.xml文件,下面放出我修改的文件:

  

<?xml version="1.0" encoding="utf-8" ?>

<Product
  xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
  ProductCode="**.Installer.8.02.001"
>
    <RelatedProducts>
    <DependsOnProduct Code=".NETFramework,Version=v4.0" />
    <DependsOnProduct Code="Microsoft.Windows.Installer.4.5" />
    </RelatedProducts>

    <!-- Defines list of files to be copied on build -->
    <PackageFiles CopyAllPackageFiles="true">
        <PackageFile Name="**3104.exe"/>
        <PackageFile Name="Language\2052.xaml"/>
        <PackageFile Name="Common**.dll"/>
        <PackageFile Name="111.dll"/>
        <PackageFile Name="**.dll"/>
    </PackageFiles>

    <Commands Reboot="Immediate">
        <Command PackageFile="**3104.exe"
            EstimatedInstallSeconds="0">
            <ExitCodes>
                <ExitCode Value="0" Result="Success"/>
                <ExitCode Value="1641" Result="SuccessReboot"/>
                <ExitCode Value="3010" Result="SuccessReboot"/>
                <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
            </ExitCodes>
        </Command>
    </Commands>
</Product>

其中PackageFile的内容就是安装后需要下载的文件。然后再打开zh-Hans文件夹中的package.xml文件,修改其中的DisplayName项为***,完成之后在vs项目中的系统必备选项中就可以勾选“***”项,再发布一次获得的setup.exe文件可以在公司局域网内的任一电脑上安装下载。

  对了,在发布之后最重要的是对setup.exe修改,用cmd命令修改该文件的-url、-componentsurl=你之前设置的iis的ip+端口地址。

 

ok,该死的系统必备这么简单让我看了半天才知道是自己DIY的。贴出MSDN的解释和发布过程中会出现的常见错误:

MSDN:https://msdn.microsoft.com/zh-cn/library/hh873130.aspx

常见错误:http://blog.csdn.net/flyingdream123/article/details/8080589

必备组件:http://blog.csdn.net/duanzilin/article/details/5982296

你可能感兴趣的:(ClickOnce发布过程中的学习)