. . . .

21 Dec 2006 » My ClickOnce Deployment ClickOnce, Microsofts new deployment mechanism, introduced in .Net framework 2.0 is just neat. Given a directive to make an application ClickOnce deployable I had to devise a way. Let me explain....

ClickOnce is primarily designed to have a development shop post their binaries to a web server and deployed to a clients box from that server. My charter was to make this application installable to a clients box, and hosted from that such that all clients would ping that box for installs and updates. This posed a problem due to the signing required for ClickOnce manifests and the application requiring configuration when it installed on that server computer.

My resolution was to have a standard MSI based installation which copied all of the required files for the application to the server machine, then using a bat file which called mage.exe generate and sign the manifests.

My bat file:

@echo off

if(%1) == "" goto error
if(%2) == "" goto error
if(%3) == "" goto error
if(%4) == "" goto error
if(%6) == "" goto error
if(%7) == "" goto error
if(%8) == "" goto error

echo ***Manifest Signing Application***

chdir %7
set var=%3
set var=%var:"=%

set product=%1
SET product=###%product%###
SET product=%product:"###=%
SET product=%product:###"=%
SET product=%product:###=%

set mfPath="%var%%product%.exe.manifest"
set appPath="%var%%product%.application"
set frmDir=%var:~0,-1%
if exist %mfPath% del /F %mfPath%
if exist %appPath% del /F %appPath%

mage.exe -New Application -ToFile %mfPath% -Name "%product%" -Version %2 -FromDirectory "%frmDir%"

cscript insert.vbs %mfPath% app.ico

if "%~5" == "" goto NoPassword

mage.exe -Sign %mfPath% -CertFile %4 -password %5
goto continue

mage.exe -Sign %mfPath% -CertFile %4


mage.exe -New Deployment -ToFile %appPath% -Name "%product%" -Version %2 -AppManifest %mfPath% -providerUrl %6 -Install true

set desc=""
cscript replace.vbs %appPath% " "

exit 1

Has this been problematic? Absolutely, mainly due to configuration of the app.config file after the app has been installed. This is more of an overlook as the System.Deployment along with the System.Configuration namespaces allow for modification of the app.config file during runtime.

17 Nov 2006 » First Utility I did say I would post my developing accomplishments and solutions, and finally I have completed one.

This utility compresses tiff images using CCITT Group 4 compression. Initially the images were specified as "black and white" therefore I checked for 1 bit color, however it was later changed to support any bit depth. Images can be 1,4,8,12,16, 24 or 32 bit. I made use of 3rd party components from LeadTools, which made compressing and saving a snap. However the very large images (1GB and up) just wreck a machine with little memory.

Being this was/is my first ground up professional app I found out the hard way where things go wrong.
Mind you for any developer this is standard duh material or should be, however I've been working on automated builds (visual build) and wise for windows installer for over a year, I knew I was rusty, but wow.

12 Oct 2006 » First Post This is my first post on this blog.
I've created this blog mainly to share whatever development achievements and/or solutions I have created.

If I update this frequently is the next question....TBD