使用mage.exe为*.deploy文件创建ClickOnce部署清单

Wal*_*lly 2 clickonce mage

当应用程序文件具有*.deploy扩展名时,如何使用mage.exe创建ClickOnce部署清单?有些人放弃并使用MSBuild.exe和GenerateDeploymentManifest任务.如果你想直接使用mage.exe怎么办?

Wal*_*lly 5

如果你想单独使用mage.exe,你需要知道的是它无法完成.至少不能单独使用mage.exe.

Mage.exe没有办法构建部署清单(*.application文件)来下载*.deploy文件.您必须在签名之前手动编辑部署清单(*.application文件).具体而言,您需要将mapFileExtensions属性添加到部署XML元素.

例如,假设您在名为1.0.0.0的文件夹中有一个名为ClickOnceText.exe的可执行文件,请执行以下操作:

> mage -n Application -t 1.0.0.0\ClickOnceTest.exe.manifest -fd 1.0.0.0 -cf ..\code.p12 -pwd passwd
ClickOnceTest.exe.manifest successfully signed

> mv 1.0.0.0\ClickOnceTest.exe 1.0.0.0\ClickOnceTest.exe.deploy

> mage -n Deployment -t ClickOnceTest.application -appm 1.0.0.0\ClickOnceTest.exe.manifest
ClickOnceTest.application successfully created

> notepad ClickOnceTest.application
Run Code Online (Sandbox Code Playgroud)

这就是诀窍.将mapFileExtensions添加到deployment元素:

<deployment mapFileExtensions="true" ... >
Run Code Online (Sandbox Code Playgroud)

随后签署部署清单(*.应用).

> mage -u ClickOnceTest.application -cf code.p12 -pwd passwd
ClickOnceTest.application successfully signed
Run Code Online (Sandbox Code Playgroud)