2014-09-11 75 views

回答

4

如果你想单独使用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 

这里是诀窍。在mapFileExtensions添加到部署元素:

<deployment mapFileExtensions="true" ... > 

而且然后签署部署清单(*。应用)。

> mage -u ClickOnceTest.application -cf code.p12 -pwd passwd 
ClickOnceTest.application successfully signed 
0

像Wally说的那样,您无法为* .deploy文件创建部署清单。

但是,您可以删除.deploy扩展,然后使用Mage.exe。您可以手动删除.deploy扩展,或者您也可以在Visual Studio中的项目属性下的Publish子项中这样做(我正在使用2017,但它也应该是早期版本的情况。)

在发布下,选择选项。 在发布选项中,选择部署。有一个复选框,您可以切换“使用'.deploy'文件扩展名”。通过取消选中此框,应用的构建/发布将生成所有常用文件,但跳过.deploy扩展。

从这里,你可以直接使用Mage.exe。