Jaded Optimist

Mothering, making, and generally blathering on

Making an installer for your plugin August 25, 2006

Filed under: Windows Live Writer — bonniep @ 10:38 am

One of the (many) great things about Windows Live Writer is the SDK for building your own plugins. For reference, see some example Plugins, download the Plugin SDK, or read an article on building plugins.

Once you have built and tested your plugin, it would be nice to wrap it in an installer before distributing it to others. At MS, our build system is using WiX to build installers. You too can use WiX, it is available on SourceForge. There is also a pretty good online tutorial available. (****Edited 8/31: Turns out the version of WiX we are using here and the latest one on SourceForge are not quite the same. Their various releases seem to be changed directory structure and library names. So to use the sample file below, you will want to download version 2.0.4103.0 from this page, the 5-03 release.****)

Here is a sample .wxs file to wrap a basic plugin (one DLL). The generated installer checks that Windows Live Writer is installed and adds your DLL to the plugins folder. Now your plugin can be managed through add/remove programs, is upgrade ready, and includes a license agreement. The sample assumes you are pointing at the WiX Minimal UI and their localization files (i.e., including flags for {path}\wixui_minimal.wixlib -loc {path}\WixUI_en-us.wxl). To change the sidebar image during installation, just replace the Bitmaps\dlgbmp.bmp image included with WiX; to use your own license agreement replace License.rtf.

 

<?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> <Product Name="{Name that shows in installer, add/remove programs}" Id="{GUID #1}" UpgradeCode="{GUID #2}" Language="1033" Codepage="1252" Version="1.0.0" Manufacturer="{Your name here}"> <Package Id="????????-????-????-????-????????????" Description="{Plugin description}" Manufacturer="{Your name here}" InstallerVersion="200" Compressed="yes" /> <Upgrade Id="{GUID #2}"> <UpgradeVersion OnlyDetect='yes' Property='PATCHFOUND' IncludeMaximum="no" Maximum="1.0.0" /> </Upgrade> <UIRef Id="WixUI" /> <Property Id="WRITERINSTALLED"> <DirectorySearch Id="PFF" Path="[ProgramFilesFolder]"> <DirectorySearch Id="WLWFolder" Path="Windows Live Writer"> <FileSearch LongName="WindowsLiveWriter.exe" /> </DirectorySearch> </DirectorySearch> </Property> <Condition Message="Windows Live Writer is not installed. Windows Live Writer plugins require Windows Live Writer to already be installed."><![CDATA[WRITERINSTALLED<>""]]></Condition> <Media Id="1" Cabinet="{PluginName}.cab" EmbedCab="yes" DiskPrompt="CD-ROM #1" /> <Property Id="DiskPrompt" Value="{PluginName} Installation [1]" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder" Name="PFiles"> <Directory Id="WriterInstallFolder" Name="Writer" LongName="Windows Live Writer"> <Directory Id="INSTALLDIR" Name="Plugins"> <Component Id="{PluginName}" Guid="{GUID #3}"> <File Id="{PluginName}DLL" Name="{plugin.dll--must be in 8.3 format}" LongName="{Full DLL name}" DiskId="1" Source="{path + dll}" Vital="yes" /> {note: other files could be included here an necessary; if you distribute help files or supporting graphics} </Component> </Directory> </Directory> </Directory> </Directory> <Feature Id="Complete" Level="1" Title="{PluginName}" Description="{Plugin Description}" Display="expand"> <ComponentRef Id="{PluginName--matches the ID given in Component tag above}" /> </Feature> </Product> </Wix>
About these ads
 

12 Responses to “Making an installer for your plugin”

  1. T8tube.com Says:

    thanks a lot!

  2. Unknown Says:

    http://tw.myblog.yahoo.com/zhdodfehttp://tw.myblog.yahoo.com/zpdoehttp://tw.myblog.yahoo.com/hhkgdhttp://tw.myblog.yahoo.com/yyyoozdhttp://www.wretch.cc/blog/apqiduhttp://www.wretch.cc/blog/qiekehhttp://www.wretch.cc/blog/qideohttp://www.wretch.cc/blog/peidosdhttp://www.wretch.cc/blog/iieodhttp://www.wretch.cc/blog/rwoedhttp://www.wretch.cc/blog/bhfsfhttp://www.wretch.cc/blog/bdfddfhttp://www.wretch.cc/blog/ooiieedhttp://www.wretch.cc/blog/trewqhfghttp://www.wretch.cc/blog/iooiehttp://www.wretch.cc/blog/pozireqhttp://www.wretch.cc/blog/zhdodfehttp://www.wretch.cc/blog/zpdoehttp://www.wretch.cc/blog/hhkgdhttp://www.wretch.cc/blog/yyyoozdhttp://blog.udn.com/bingyilghttp://blog.udn.com/aoeid/http://blog.udn.com/oouu36http://blog.udn.com/ooiihttp://blog.udn.com/yyoo36http://blog.udn.com/ppoo36http://blog.udn.com/mini36http://blog.udn.com/nvnvhttp://blog.udn.com/hjjhhttp://blog.udn.com/gghjhttp://yu36.blog.ithome.com.tw/http://yt36.blog.ithome.com.tw/http://bb36.blog.ithome.com.tw/http://re36.blog.ithome.com.tw/http://qi36.blog.ithome.com.tw/http://pp36.blog.ithome.com.tw/http://blog.xuite.net/oouu36/blog/http://blog.eztravel.com.tw/you36http://blog.mook.com.tw/tr36http://alive.tom.com/oruyhttp://alive.tom.com/ubolhttp://alive.tom.com/wsdfhttp://alive.tom.com/vdalhttp://alive.tom.com/vadehttp://alive.tom.com/dzedhttp://alive.tom.com/oerdhttp://alive.tom.com/yrtdhttp://alive.tom.com/uyrfhttp://alive.tom.com/tedehttp://blog.eztravel.com.tw/er36http://blog.eztravel.com.tw/tedehttp://blog.eztravel.com.tw/gaer36http://blog.tyc.edu.tw/b/erdhttp://blog.tyc.edu.tw/b/yyoohttp://blog.tyc.edu.tw/b/oiuhttp://blog.tyc.edu.tw/b/youhttp://blog.tyc.edu.tw/b/zdohttp://blog.tyc.edu.tw/b/mnbhttp://blog.tyc.edu.tw/b/xcvhttp://blog.tyc.edu.tw/b/bvchttp://blog.tyc.edu.tw/b/bnvhttp://redr36.wordpress.com/http://roeu.livejournal.com/http://bncn.livejournal.com/http://teded.livejournal.com/http://eoud.livejournal.com/http://yourer.livejournal.com/http://redre.livejournal.com/http://drere.livejournal.com/http://www.fuel.tv/bingyi/blogshttp://www.fuel.tv/reod/blogshttp://www.fuel.tv/yyoo/blogshttp://www.fuel.tv/doed/blogshttp://www.fuel.tv/youd/blogshttp://www.fuel.tv/beod/blogshttp://yyoo.setaco.jp/http://youde.setaco.jp/

  3. Unknown Says:

    http://www.fudousanget.com/http://www.daikenfudousan.com/http://www.president-partners.com/http://www.fudousanget.com/0saxtuporo.htmlhttp://www.fudousanget.com/0sendai.htmlhttp://www.fudousanget.com/0oosaka.htmlhttp://www.fudousanget.com/0yokohama.htmlhttp://www.fudousanget.com/0nagoya.htmlhttp://www.fudousanget.com/0minato.htmlhttp://www.fudousanget.com/0fukuoka1.htmlhttp://www.fudousanget.com/0kyouto.htmlhttp://www.fudousanget.com/0saitama.htmlhttp://www.fudousanget.com/0tiba.htmlhttp://www.fudousanget.com/0sizuoka.htmlhttp://www.fudousanget.com/0koube.htmlhttp://www.fudousanget.com/0hamamatu.htmlhttp://www.fudousanget.com/0sakai.htmlhttp://www.fudousanget.com/0kawasaki.htmlhttp://www.fudousanget.com/0sagamihara.htmlhttp://www.fudousanget.com/0himeji.htmlhttp://www.fudousanget.com/0kurasiki.htmlhttp://www.fudousanget.com/0akasi.htmlhttp://www.fudousanget.com/0kagosima.htmlhttp://www.fudousanget.com/0kitakyusyu.htmlhttp://www.fudousanget.com/0kumamoto.htmlhttp://www.fudousanget.com/0hokkaidou.htmlhttp://www.fudousanget.com/0aomori.htmlhttp://www.fudousanget.com/0iwate.htmlhttp://www.fudousanget.com/0miyagi.htmlhttp://www.fudousanget.com/0akita.htmlhttp://www.fudousanget.com/0yamagata.htmlhttp://www.fudousanget.com/0fukushima.htmlhttp://www.fudousanget.com/0gunma.htmlhttp://www.fudousanget.com/0totigi.htmlhttp://www.fudousanget.com/0ibaragi.htmlhttp://www.fudousanget.com/0yamanashi.htmlhttp://www.fudousanget.com/0niigata.htmlhttp://www.fudousanget.com/0nagano.htmlhttp://www.fudousanget.com/0toyama.htmlhttp://www.fudousanget.com/0ishikawa.htmlhttp://www.fudousanget.com/0fukui.htmlhttp://www.fudousanget.com/0aichi.htmlhttp://www.fudousanget.com/0gifu.htmlhttp://www.fudousanget.com/0mie.htmlhttp://www.fudousanget.com/0hyougo.htmlhttp://www.fudousanget.com/0shiga.htmlhttp://www.fudousanget.com/0nara.htmlhttp://www.fudousanget.com/0wakayama.htmlhttp://www.fudousanget.com/0tottori.htmlhttp://www.fudousanget.com/0shimane.htmlhttp://www.fudousanget.com/0yamaguchi.htmlhttp://www.fudousanget.com/0tokushima.htmlhttp://www.fudousanget.com/0kagawa.htmlhttp://www.fudousanget.com/0ehime.htmlhttp://www.fudousanget.com/0kouchi.htmlhttp://www.fudousanget.com/0saga.htmlhttp://www.fudousanget.com/0nagasaki.htmlhttp://www.fudousanget.com/0kumamoto.htmlhttp://www.fudousanget.com/0ooita.htmlhttp://www.fudousanget.com/0miyazaki.htmlhttp://www.fudousanget.com/0okinawa.htmlhttp://www.fudousanget.com/0kurasiki.html

  4. Unknown Says:

    http://www.0120128888.com/http://www.0120128888.com/http://www.0057.jp/http://www.0057.jp/http://www.0120128888.com/rikon/index.htmhttp://www.0120128888.com/chosa/item_1.htmhttp://www.0120128888.com/t-tokyo.htmlhttp://www.0120128888.com/rikon/index4.htmhttp://www.0120128888.com/price.htmhttp://www.0120128888.com/chosa/item_3.htmhttp://www.0120128888.com/point.htmhttp://www.0120128888.com/t-uwaki.htmlhttp://www.0120128888.com/t-tanteisya.htmlhttp://www.0120128888.com/t-saitama.htmlhttp://www.0120128888.com/t-yokohama.htmlhttp://www.0120128888.com/t-toukyouto.htmlhttp://www.0120128888.com/t-sinnjyuku.htmlhttp://www.0120128888.com/t-saitama2.htmlhttp://www.0120128888.com/t-kanagawa.htmlhttp://www.0120128888.com/t-tiba.htmlhttp://www.0120128888.com/t-jyosei.htmlhttp://www.0120128888.com/t-funabasi.htmlhttp://www.0120128888.com/k-tokyouto.htmlhttp://www.0120128888.com/k-yokohama.htmlhttp://www.0120128888.com/k-kanagawa.htmlhttp://www.0120128888.com/k-tibaken.htmlhttp://www.0120128888.com/k-saitama.htmlhttp://www.0120128888.com/k-tiba.htmlhttp://www.0120128888.com/s-ikue.htmlhttp://www.0120128888.com/s-iede2.htmlhttp://www.0120128888.com/s-kekon.htmlhttp://www.0120128888.com/s-iede.htmlhttp://www.0120128888.com/s-hito.htmlhttp://www.0120128888.com/u-syoko.htmlhttp://www.0120128888.com/u-ryoukin.htmlhttp://www.0120128888.com/rikon/index3.htmhttp://www.0120128888.com/counsellors.htmhttp://www.0057.jp/kai.htmlhttp://www.0057.jp/kigyo.htmlhttp://www.a-fudosan.jp/area/index.php?_k=37http://www.a-fudosan.jp/http://www.a-fudosan.jp/area/index.php?_k=38http://www.a-fudosan.jp/area/index.php?_k=39http://www.a-fudosan.jp/area/index.php?_k=37http://www.a-fudosan.jp/area/index.php?_k=34http://www.a-fudosan.jp/area/index.php?_k=33http://www.dalkenfudousan.com/http://www.daikenfudousan.com/sateiget/http://www.fudousanget.com/kaitoriget/http://www.fudousanget.com/kaitoriget/http://www.daikenfudousan.com/kaitorigetb/http://www.daikenfudousan.com/kaitorigetb/http://www.fudousanget.com/kaitorigetb/http://www.fudousanget.com/kaitorigetb/http://www.daikenfudousan.co.jp/http://www.d-actus.com/http://www.studioaim.jp/http://www.kw-ai.com/http://www.sc-wakaru.com/inazawa/http://www.studioaim.jp/sapporo/index.htmlhttp://www.mz-7.com/http://www.daikenfudousan.co.jp/

  5. no name Says:

    http://www.a-fudosan.jp/area/index.php?_k=37http://www.a-fudosan.jp/http://www.a-fudosan.jp/area/index.php?_k=38http://www.a-fudosan.jp/area/index.php?_k=39http://www.a-fudosan.jp/area/index.php?_k=37http://www.a-fudosan.jp/area/index.php?_k=34http://www.a-fudosan.jp/area/index.php?_k=33http://www.dalkenfudousan.com/http://www.daikenfudousan.com/sateiget/http://www.fudousanget.com/kaitoriget/http://www.fudousanget.com/kaitoriget/http://www.daikenfudousan.com/kaitorigetb/http://www.daikenfudousan.com/kaitorigetb/http://www.fudousanget.com/kaitorigetb/http://www.fudousanget.com/kaitorigetb/http://www.daikenfudousan.co.jp/http://www.d-actus.com/http://www.studioaim.jp/http://www.kw-ai.com/http://www.sc-wakaru.com/inazawa/http://www.studioaim.jp/sapporo/index.htmlhttp://www.mz-7.com/http://www.daikenfudousan.co.jp/http://www.tb-k.com/hoxtukaidou.htmlhttp://www.tb-k.com/saxtuporo.htmlhttp://www.tb-k.com/aomori.htmlhttp://www.tb-k.com/akita.htmlhttp://www.tb-k.com/iwate.htmlhttp://www.tb-k.com/senndai.htmlhttp://www.tb-k.com/yamagata.htmlhttp://www.tb-k.com/fukusima.htmlhttp://www.tb-k.com/kanagawa.htmlhttp://www.tb-k.com/tiba.htmlhttp://www.tb-k.com/saitama.htmlhttp://www.tb-k.com/ibaragi.htmlhttp://www.tb-k.com/gunnma.htmlhttp://www.tb-k.com/yokohama.htmlhttp://www.tb-k.com/aiti.htmlhttp://www.tb-k.com/niigata.htmlhttp://www.tb-k.com/toyama.htmlhttp://www.tb-k.com/nagano.htmlhttp://www.tb-k.com/gifu.htmlhttp://www.tb-k.com/isikawa.htmlhttp://www.tb-k.com/yamanasi.htmlhttp://www.tb-k.com/fukui.htmlhttp://www.tb-k.com/sizuoka.htmlhttp://www.tb-k.com/nagoya.htmlhttp://www.tb-k.com/mie.htmlhttp://www.tb-k.com/hirosima.htmlhttp://www.tb-k.com/okayama.htmlhttp://www.tb-k.com/yamaguti.htmlhttp://www.tb-k.com/simane.htmlhttp://www.tb-k.com/toxtutoro.htmlhttp://www.tb-k.com/ehime.htmlhttp://www.tb-k.com/kagawa.htmlhttp://www.tb-k.com/kouti.htmlhttp://www.tb-k.com/tokusima.htmlhttp://www.tb-k.com/fukuoka.htmlhttp://www.tb-k.com/ooita.htmlhttp://www.tb-k.com/miyazaki.htmlhttp://www.tb-k.com/saga.htmlhttp://www.tb-k.com/kumamoto.htmlhttp://www.tb-k.com/nagasaki.htmlhttp://www.tb-k.com/kagosima.htmlhttp://www.tb-k.com/okinawa.html

  6. no name Says:

    http://www.tb-k.com/http://www.araksia.com/http://www.ec本舗.com/http://www.しょっぴんぐ.net/http://www.商談.com/http://www.loan-usa.net/http://www.urlyouwant.net/http://www.asiatique-nue.biz/http://www.asiatique-nue.biz/http://www.palmdat.com/http://www.campuslackers.com/http://www.ad-assoc.com/http://www.ec01.info/http://www.proyeccionpatagonica.com/http://www.gaiaecology.net/http://www.ankaradabursa.com/http://www.ec18.info/http://www.jymax.com/http://www.clubsoltexas.com/http://www.rams-agi.com/http://www.lovekeliye.com/http://www.dostunubul.com/http://www.xymedia.biz/http://www.bufalocare.com/http://www.celltheband.com/http://www.irregulartime.com/http://www.capiloderm.com/http://www.b-11.net/http://www.baltimoredating247.com/http://www.bhradiola.com/http://www.black-porno.biz/http://www.buddhist-tours-package.com/http://www.cambridgehomeinspection.com/http://www.chinoises-nues.biz/http://www.classybears.com/http://www.douche-sperme.biz/http://www.femmes-gros-seins.biz/http://www.fzco.net/http://www.geraldclaytonmusic.com/http://www.grupo-milflor.com/http://www.gypsytradingpost.com/http://www.indianhost.net/http://www.jacibrown.com/http://www.jifd.net/http://www.jxkq.net/http://www.korea-onlinebookinghotel.com/http://www.macadc.com/http://www.macau-onlinebookinghotel.com/http://www.matures-gratuit.biz/http://www.naturestherapy101.com/http://www.on-c.net/http://www.periodicoelbacan.com/http://www.philadspot.net/http://www.photos-femmes-mures.biz/http://www.photos-porno.biz/http://www.pnlcom.net/http://www.qzco.net/http://www.rebelriders.net/http://www.robotspace.biz/http://www.vizolution.net/

  7. Unknown Says:

    http://www.batteryfast.com/hp/nc6120.htm hp nc6120 battery http://www.batteryfast.com/dell/inspiron-1100-series.htm dell inspiron 1100 series battery http://www.batteryfast.com/dell/inspiron-1150.htm dell inspiron 1150 battery http://www.batteryfast.com/dell/inspiron-5150.htm dell inspiron 5150 battery http://www.batteryfast.com/dell/inspiron-5160.htm dell inspiron 5160 battery http://www.batteryfast.com/dell/inspiron-5100.htm dell inspiron 5100 battery http://www.batteryfast.com/dell/latitude-131l.htm dell latitude 131l battery http://www.batteryfast.com/dell/vostro-1000.htm dell vostro 1000 battery http://www.batteryfast.com/dell/gd761.htm dell gd761 battery http://www.batteryfast.com/dell/nt379.htm dell nt379 battery http://www.batteryfast.com/dell/latitude-d531.htm dell latitude d531 battery http://www.batteryfast.com/dell/precision-m65.htm dell precision m65 battery http://www.batteryfast.com/dell/vostro-1700.htm dell vostro 1700 battery http://www.batteryfast.com/gateway/8msb.htm gateway 8msb battery http://www.batteryfast.com/hp/pb992a.htm hp pb992a battery http://www.batteryfast.com/hp/dv2100.htm hp dv2100 battery http://www.batteryfast.com/hp/dv2200.htm hp dv2200 battery http://www.batteryfast.com/hp/hstnn-c29c.htm hp hstnn-c29c battery http://www.batteryfast.com/hp/nc8000.htm hp nc8000 battery http://www.batteryfast.com/dell/inspiron-b120.htm dell inspiron b120 battery http://www.batteryfast.com/dell/inspiron-b130.htm dell inspiron b130 battery http://www.batteryfast.com/gateway/12msbg.htm gateway 12msbg battery http://www.batteryfast.com/hp/7400.htm hp 7400 battery http://www.batteryfast.com/dell/inspiron-b120.htm dell inspiron b120 battery http://www.batteryfast.com/toshiba/pa3356u.htm toshiba pa3356u battery http://www.batteryfast.com/hp/2510p.htm hp 2510p battery http://www.batteryfast.com/hp/f3172a.htm hp f3172a battery http://www.batteryfast.com/dell/inspiron-2200.htm dell inspiron 2200 battery http://www.batteryfast.com/gateway/squ-414.htm gateway squ-414 battery http://www.batteryfast.com/hp/hstnn-lb33.htm hp hstnn-lb33 battery http://www.batteryfast.com/mitac/bp-8089.htm mitac bp-8089 battery http://www.batteryfast.com/toshiba/satellite-m55.htm toshiba satellite m55 battery http://www.batteryfast.com/toshiba/satellite-m115.htm toshiba satellite m115 battery http://www.batteryfast.com/toshiba/qosmio-f25.htm toshiba qosmio f25 battery http://www.batteryfast.com/toshiba/satellite-m60.htm toshiba satellite m60 battery http://www.batteryfast.com/toshiba/satellite-p200.htm toshiba satellite p200 battery http://www.batteryfast.com/toshiba/pa3536u-1brs.htm toshiba pa3536u-1brs battery http://www.batteryfast.com/hp/hstnn-db17.htm hp hstnn-db17 battery


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

Join 36 other followers