Labels

.NET (2) Civ (1) ClickOnce (1) Fun (1) LEGO (1) Log4Net (1) PdfManual (1) Video (1)

Wednesday, December 29, 2010

mage.exe and trustURLParameters

When automating building ClickOnce applications, I have not found a way to get mage.exe to set trustURLParameters = true in the deployment manifest ".application" file.

My workaround is to have my batch file modify the deployment manifest file with something like: (use your filename instead of yourfilenamegoeshere.application)


ECHO Adding trustURLParameters="true" to deployment manifest...
IF EXIST ".\BuildClickOnceInstallationPackageReplaceText.vbs" del ".\BuildClickOnceInstallationPackageReplaceText.vbs" /F /Q
IF ERRORLEVEL 1 GOTO TheError
echo Set objFS=CreateObject("Scripting.FileSystemObject") > BuildClickOnceInstallationPackageReplaceText.vbs
IF ERRORLEVEL 1 GOTO TheError
echo strFile = WScript.Arguments.Item(0) >> BuildClickOnceInstallationPackageReplaceText.vbs
IF ERRORLEVEL 1 GOTO TheError
echo Set objFile = objFS.OpenTextFile(strFile,1,False,0) >> BuildClickOnceInstallationPackageReplaceText.vbs
IF ERRORLEVEL 1 GOTO TheError
echo allTheContents = objFile.ReadAll >> BuildClickOnceInstallationPackageReplaceText.vbs
IF ERRORLEVEL 1 GOTO TheError
echo objFile.Close >> BuildClickOnceInstallationPackageReplaceText.vbs
IF ERRORLEVEL 1 GOTO TheError
echo Set objFile = objFS.OpenTextFile(strFile,2,True,0) >> BuildClickOnceInstallationPackageReplaceText.vbs
IF ERRORLEVEL 1 GOTO TheError
echo objFile.Write Replace(allTheContents,"<deployment ","<deployment trustURLParameters=""true"" ") >> BuildClickOnceInstallationPackageReplaceText.vbs
IF ERRORLEVEL 1 GOTO TheError
echo objFile.Close  >> BuildClickOnceInstallationPackageReplaceText.vbs
cscript /nologo BuildClickOnceInstallationPackageReplaceText.vbs yourfilenamegoeshere.application
IF ERRORLEVEL 1 GOTO TheError
IF EXIST ".\BuildClickOnceInstallationPackageReplaceText.vbs" del ".\BuildClickOnceInstallationPackageReplaceText.vbs" /F /Q
IF ERRORLEVEL 1 GOTO TheError
pause
exit
:TheError
ECHO Error occurred.  Aborting mission.
pause

No comments: