﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-D盘-随笔分类-InstallShield</title><link>http://www.cnitblog.com/wufajiaru/category/6668.html</link><description>workspace</description><language>zh-cn</language><lastBuildDate>Mon, 03 Oct 2011 02:00:01 GMT</lastBuildDate><pubDate>Mon, 03 Oct 2011 02:00:01 GMT</pubDate><ttl>60</ttl><item><title>VB之WebService客户端打包经历（初次理解msm）</title><link>http://www.cnitblog.com/wufajiaru/archive/2008/10/23/50592.html</link><dc:creator>巴西木</dc:creator><author>巴西木</author><pubDate>Thu, 23 Oct 2008 06:16:00 GMT</pubDate><guid>http://www.cnitblog.com/wufajiaru/archive/2008/10/23/50592.html</guid><wfw:comment>http://www.cnitblog.com/wufajiaru/comments/50592.html</wfw:comment><comments>http://www.cnitblog.com/wufajiaru/archive/2008/10/23/50592.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.cnitblog.com/wufajiaru/comments/commentRss/50592.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wufajiaru/services/trackbacks/50592.html</trackback:ping><description><![CDATA[<p>有个VB做的WebService客户端程序，一直是需要安装<a href="http://www.microsoft.com/downloads/details.aspx?familyid=c943c0dd-ceec-4088-9753-86f052ec8450&amp;displaylang=en">SOAP Toolkit 3.0</a>后才能使用，所以客户需要安装两个安装包，一个是我这个程序，一个是SOAP Toolkit 3.0。<br><br>昨天终于下决心抽空研究怎么合并打包程序了，经历是曲折的：<br><br>1. 从微软官方下载到了soapsdk的再分发包：<font color=#002c99><a href="http://download.microsoft.com/download/7/e/4/7e4bce8e-d22e-4dc7-b161-87fe9c7d0000/STK3Redist.EXE"><font color=#002c99>STK3Redist.EXE</font></a><br><br></font><font color=#000000>2. 解压后发现里面是几个. msm文件（isapi3_files.msm，soap3_core.msm，winhttp51.msm）<br><br>3. 上网搜索 .msm文件的使用方法，结果有人说用installshield可以打开，打开后，看到里面有mssoap30.dll等文件， 可是打开后无法导出，只能合并到别的msm文件或msi文件中，试着合并到自己程序的msi文件中，提示出错，合并失败，并无错误描述。<br><br>4. 于是开始研究提取msm文件中的文件，将msm文件导出到一个空的msi文件中，然后试了两个提取msi文件的软件（Universal Extractor和MSI文件提取器0.66)均提取失败。<br><br>5. 无意中搜到《<a href="http://gentle.blog.ccidnet.com/blog-htm-do-showone-type-blog-itemid-207793-uid-46674.html">打包SOAP </a>》这篇文章，其中的内容起了决定性作用：<br><br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">1.将msm文件拷贝到InstallShield安装目录下的Objects文件夹下，例如：Macrovision\IS11.5\Objects&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>2.在InstallShield下，将相应的msm合并模块从上面的InstallShield&nbsp;objects/Redistributables选中（<span class=helpTitle>SOAP SDK Files ，<span class=helpTitle>SOAP SDK ISAPI Files和<span class=helpTitle>WinHTTP QFE Installer </span></span></span>）&nbsp;</span></div>
</font><br>原来msm文件是这样用的呀<br><br>6. 选中打包以后，安装测试，晕，依然报错：
<p class=errormsg>WSDLReader: Loading of the WSDL file failed HRESULT=0x80040154: Class not registered.（没有注册类别）</p>
<br>7. google上搜索这个错误，遇到了这篇文章 <a href="http://kbalertz.com/922736/Error-message-access-service-hosted.aspx">
<p>KBAlertz.com: Error message when you try to access a Web service that is hosted on IIS: HRESULT=0x80040154</p>
</a><!-- //intelliTxt -->其中讲到的一种情况与我这种情况一致：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">You&nbsp;include&nbsp;the&nbsp;redistributable&nbsp;files&nbsp;from&nbsp;the&nbsp;Microsoft&nbsp;SOAP&nbsp;Toolkit&nbsp;3.0&nbsp;in&nbsp;the&nbsp;client&nbsp;program&nbsp;installation&nbsp;package.</span></div>
三种解决办法中我用的是：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Method&nbsp;3:&nbsp;Install&nbsp;Microsoft&nbsp;XML&nbsp;Core&nbsp;Services&nbsp;4.0&nbsp;Service&nbsp;Pack&nbsp;2<img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>8.于是我在installshield中选入了msxml4.0（本来也找好了<a href="http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&amp;displaylang=en">MSXML4.0 SP2</a>的包，结果用msxml4.0就解决了，每用上）<br><br>9.打包测试<br><br>10.成功！<br><br><br>总结：<br><span style="COLOR: #008000">首先，对于使用了soapToolkit3.0的客户端程序，必须注册需要的dll文件。</span><br>有人说只需要注册几个dll文件（MSSOAP30.DLL，MSSOAPR3.DLL&nbsp;，WISC30.dll&nbsp;&nbsp;），没有精力去追究是不是这样了，而且这几个文件也不再同一个msm文件中，所以我把三个msm文件都加进去。<br>也有人说手动注册，但是对于安装程序来说，手动不再考虑之列。<br><br><span style="COLOR: #008000">然后，msm文件可以合并到别的msm文件或msi文件中。<br></span>虽然我没有试验成功，但msm文件的初衷大概就是为了模块化分发的，主要用于微软的msi安装包的制作。<br><br><span style="COLOR: #008000">其次，installshiel是可以将msm文件为我所用的</span><br>启发来自《<a href="http://gentle.blog.ccidnet.com/blog-htm-do-showone-type-blog-itemid-207793-uid-46674.html">打包SOAP</a>》这篇文章<br><br><span style="COLOR: #008000">最后，对安装程序的测试一定要在空的操作系统上测试，不然，受到开发环境的影响，有些问题很难发现。<br></span>制作期间也遇到了一些别的问题，大多数是需要的文件没有打在包里，就像vb里面的richtext.ocx和msflxgrd.ocx，有些文件是可以在installshield中的Redistributables选取的，在Redistributables里没有提供的就得自己把文件加进去。<br><br><br><br><br></p>
<img src ="http://www.cnitblog.com/wufajiaru/aggbug/50592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wufajiaru/" target="_blank">巴西木</a> 2008-10-23 14:16 <a href="http://www.cnitblog.com/wufajiaru/archive/2008/10/23/50592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>InstallShield 之String Table /property /path变量 [转]</title><link>http://www.cnitblog.com/wufajiaru/archive/2008/10/04/49836.html</link><dc:creator>巴西木</dc:creator><author>巴西木</author><pubDate>Sat, 04 Oct 2008 01:17:00 GMT</pubDate><guid>http://www.cnitblog.com/wufajiaru/archive/2008/10/04/49836.html</guid><wfw:comment>http://www.cnitblog.com/wufajiaru/comments/49836.html</wfw:comment><comments>http://www.cnitblog.com/wufajiaru/archive/2008/10/04/49836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wufajiaru/comments/commentRss/49836.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wufajiaru/services/trackbacks/49836.html</trackback:ping><description><![CDATA[<div class=post>
<h2><a id=AjaxHolder_ctl01_TitleUrl href="http://www.cnblogs.com/solo/archive/2007/10/11/921202.html"><font color=#0066aa>InstallShield 之String Table /property /path变量</font></a> </h2>
<div class=postText>
<p>仔细了解了下，InstallShield这几种定义的变量的用法：<br>1.String Tables里的变量：<br>Installation Information-&gt;General Information-&gt;String Tables 在设置的语言中:如Chinese(Simplified)&nbsp; 添加变量TestStr 并设置值。在Script中使用方法：<br>eg.</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">&nbsp;tempStr;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>BEGIN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#109;&#112;&#83;&#116;&#114;&#61;&#64;&#84;&#101;&#115;&#116;&#83;&#116;&#114;"><font color=#0066aa>tempStr=@TestStr</font></a>;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>MessageBox(tempStr,INFORMATION);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">END</span><span style="COLOR: #000000">;</span></div>
2.Property：<br>Behavior and Logic-&gt;Property Manager 添加变量如SoloProperty.在Script中使用语法：<br>eg.<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;OnBegin()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">&nbsp;tempStr,tempStr2;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">&nbsp;svUsername[</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">];<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NUMBER&nbsp;nBuffer;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>begin<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;nBuffer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;MsiGetProperty(ISMSI_HANDLE,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SoloProperty</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;svUsername,&nbsp;nBuffer);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SoloProperty&nbsp;Value&nbsp;is&nbsp;=&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;svUsername,&nbsp;INFORMATION);&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">Exit</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">end</span><span style="COLOR: #000000">;</span></div>
A useful function like this,:-):<br>Code:<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">prototype&nbsp;</span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">&nbsp;GetValue(</span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>prototype&nbsp;VOID&nbsp;SetValue(</span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">&nbsp;GetValue(szName)<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">STRING</span><span style="COLOR: #000000">&nbsp;szResult;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NUMBER&nbsp;nLength;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NUMBER&nbsp;nRetVal;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>begin<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;nLength&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1024</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;nRetVal&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;MsiGetProperty(ISMSI_HANDLE,&nbsp;szName,&nbsp;szResult,&nbsp;nLength);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(nRetVal&nbsp;!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ERROR_SUCCESS)&nbsp;</span><span style="COLOR: #0000ff">then</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Error&nbsp;retrieving&nbsp;value&nbsp;for:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;szName,&nbsp;WARNING);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;endif;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;szResult;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">end</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;VOID&nbsp;SetValue(szName,&nbsp;szValue)<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NUMBER&nbsp;nRetVal;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>begin<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;nRetVal&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;MsiSetProperty(ISMSI_HANDLE,&nbsp;szName,&nbsp;szValue);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(nRetVal&nbsp;!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ERROR_SUCCESS)&nbsp;</span><span style="COLOR: #0000ff">then</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Error&nbsp;setting&nbsp;value&nbsp;for:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;szName,&nbsp;WARNING);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;endif;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">end</span><span style="COLOR: #000000">;</span></div>
<br>useage Code:<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">svMyValue&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;GetValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOME_PROPERTY</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>SetValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SOME_OTHER_PROPERTY</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;svMyValue);</span></div>
3. Path variables:<br>Media-&gt;Path Variables<br>找到这句话：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Path&nbsp;variables&nbsp;used&nbsp;</span><span style="COLOR: #0000ff">to</span><span style="COLOR: #000000">&nbsp;represent&nbsp;source&nbsp;paths&nbsp;are&nbsp;</span><span style="COLOR: #0000ff">not</span><span style="COLOR: #000000">&nbsp;available&nbsp;at&nbsp;run&nbsp;</span><span style="COLOR: #0000ff">time</span><span style="COLOR: #000000">,&nbsp;only&nbsp;at&nbsp;build&nbsp;</span><span style="COLOR: #0000ff">time</span><span style="COLOR: #000000">.</span></div>
<br></div>
<p class=postfoot>posted on 2007-10-11 16:17 <a href="http://www.cnblogs.com/solo/"><font color=#0066aa>Solog</font></a> 阅读(370) <a href="http://www.cnblogs.com/solo/archive/2008/07/22/921202.html#Post"><font color=#0066aa>评论(3)</font></a> &nbsp;<a href="http://www.cnblogs.com/solo/admin/EditPosts.aspx?postid=921202"><font color=#0066aa>编辑</font></a> <a onclick="PutInWz();return false;" href="http://www.cnblogs.com/solo/archive/2008/07/22/921202.html#"><font color=#0066aa>收藏</font></a> 所属分类: <a href="http://www.cnblogs.com/solo/category/118323.html"><font color=#0066aa>InstallShield</font></a> </p>
</div>
<img src ="http://www.cnitblog.com/wufajiaru/aggbug/49836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wufajiaru/" target="_blank">巴西木</a> 2008-10-04 09:17 <a href="http://www.cnitblog.com/wufajiaru/archive/2008/10/04/49836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>InstallShield学习笔记</title><link>http://www.cnitblog.com/wufajiaru/archive/2007/12/13/37669.html</link><dc:creator>巴西木</dc:creator><author>巴西木</author><pubDate>Thu, 13 Dec 2007 09:10:00 GMT</pubDate><guid>http://www.cnitblog.com/wufajiaru/archive/2007/12/13/37669.html</guid><wfw:comment>http://www.cnitblog.com/wufajiaru/comments/37669.html</wfw:comment><comments>http://www.cnitblog.com/wufajiaru/archive/2007/12/13/37669.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wufajiaru/comments/commentRss/37669.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wufajiaru/services/trackbacks/37669.html</trackback:ping><description><![CDATA[<strong>1.关于脚本文件</strong><br><br>脚本文件是可以随时建立的，其中的function可以被Custum Actions执行，执行的方式是在&#8220;Behavior and Logic&#8221;-&gt;&#8220;Custum Actions&#8221;中新增一个Action，然后选择执行顺序即可。<br><br><strong>2.如何将一个程序安装成windows的服务</strong><br><br>在Oragnization-&gt;components中选择需要运行的文件，然后在文件的&#8220;Advanced Settinng&#8221;中的&#8220;Install NT Services&#8221;中增加一个服务即可<br><br><strong>3.对话框</strong><br><br>使用这个语句：&nbsp;&nbsp;&nbsp; MessageBox ("弹出对话框", INFORMATION);&nbsp;<br>其中后面那个参数可以设置信息或错误等<br><br><strong>4.用脚本安装windows服务的语句</strong><br><br>试验成功，但发现（2）中提到的方法之后放弃这种方式：<br>&nbsp;ServiceAddService("ggAgent","ggAgentService","gg Agent Service Description","c:\\windows\\gg.exe",TRUE,""); <br>&nbsp;ServiceStartService("ggAgent",""); 
<img src ="http://www.cnitblog.com/wufajiaru/aggbug/37669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wufajiaru/" target="_blank">巴西木</a> 2007-12-13 17:10 <a href="http://www.cnitblog.com/wufajiaru/archive/2007/12/13/37669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>