标签: mage

Mage.exe部署问题

我有一个配置文件,需要在每个服务器的基础上更改,以便一旦服务器安装了我们的软件,客户端安装程序的配置文件设置为匹配该服务器的特定设置,然后复制到公共Web上用于部署的文件夹.

由于我正在更改配置文件,我还必须重建*.manifest和*.application文件,据我所知,我唯一真正的选择是使用Win7 SDK中的Mage.exe.为了使用修改后的配置文件中的正确哈希修复*.manifest文件,我运行:

mage -new Application -fd".\ Application Files\<appName> _1_0_0_0"-ToFile".\ Application Files\_1_0_0_0\<appName> .exe.manifest"-Name"<appName>" - Version"1.0.0.0" - CertFile"key.pfx" - 密码"<密码>"

然后,使用修改后的*.manifest文件中的正确哈希修复*.application文件,运行:

mage -new Deployment -I t -t"<appName> .application"-v"1.0.0.0"-appManifest".\ Application Files\<appName> _1_0_0_0\<appName> .exe.manifest"-pu"http://<hostaddress>/<path>/Application Files/<appName> _1_0_0_0/<appName> .exe.manifest"-CertFile"key.pfx"-password""

现在,这一切都有效,我收到文件成功签名的消息.当我尝试安装客户端应用程序时,很明显当我收到带有消息的错误日志时出现了问题:

+ Deployment manifest is not semantically valid.
+ Deployment manifest requires <deployment> section.
Run Code Online (Sandbox Code Playgroud)

在查看*.application文件时,它在"部署"节点下有一些附加信息,直接来自VS2008的发布功能的同一文件没有:

<deployment install="true">
  <subscription>
    <update>
      <expiration maximumAge="0" unit="days" />
    </update>
  </subscription>
  <deploymentProvider codebase="http://<hostaddress>/<path>/Application Files/<appName>_1_0_0_0/<appName>.exe.manifest" />
</deployment>
Run Code Online (Sandbox Code Playgroud)

VS2008发布版本只需:

<deployment install="true" />
Run Code Online (Sandbox Code Playgroud)

当我删除其他信息并将部署节点设置为自终止节点,然后重新签名该文件时,一切都按预期工作.

这是一个已知问题,有没有办法让Mage在没有部署节点中的额外信息的情况下创建文件,以便它能正常工作?

编辑:作为临时解决方案,我将文件加载到XmlDocument并修改它们以适应,然后重新签名文件.此外,我现在面临的问题是还无法确定如何向部署添加图标,因此"开始"菜单项会获得除通用图标之外的图标.

deployment clickonce command-line mage

7
推荐指数
1
解决办法
6990
查看次数

什么是法师,以什么方式有用?

我一直看到对Mage的引用,但我不明白具体是什么以及为什么它有用/受欢迎.如果有人可以快速了解它,我将不胜感激!

谢谢〜

.net clickonce mage

6
推荐指数
2
解决办法
4417
查看次数

使用Powershell 2.0调用mage并调用运算符(即&)

我想使用Powershell 2.0来编写使用Microsoft的Manifest Generation and Editing工具(mage)创建应用程序清单的脚本.具体来说,我希望能够将动态指定的参数值传递给mage命令(例如,从xml或其他来源读取).

虽然我可以使用invoke-expression完成此操作,但我宁愿避免将其视为不太安全的选项(即易受"powershell注入攻击"攻击).

这就是我所知道的.

这成功显示消息"application.exe.manifest已成功创建":

& "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\mage.exe" -New Application
Run Code Online (Sandbox Code Playgroud)

这不会成功,消息"第一个参数必须是以下之一:-New,-Update,-Sign"(这是一个mage,而不是powershell,错误消息):

$params = "-New Application"

& "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\mage.exe" $params
Run Code Online (Sandbox Code Playgroud)

如何将$ params值传递给mage命令,以便mage成功解释?

powershell clickonce mage

6
推荐指数
1
解决办法
1982
查看次数

Magento快速getResourceModel问题

用这行代码调用什么类(如果有的话)?

Mage::getResourceModel('sales/order_invoice_collection')
Run Code Online (Sandbox Code Playgroud)

本质上,我试图找出使用此资源模型访问的数据库表以及如何调整它.谢谢!

php database magento mage

6
推荐指数
2
解决办法
1万
查看次数

Magento - 将产品属性设置为使用默认值

之前已多次询问此问题,但没有正常工作的答案.

我有多个商店,一些属性已被覆盖.我想用脚本将这些属性更改为"使用默认值".

这是一个显示商店视图和'使用默认值'复选框 的图像http://dl.dropbox.com/u/3209649/storeviews-and-defaultvalues.png (不允许发布图片)

app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php中,当为任何属性选择"使用默认值"时,setData()与第二个参数一起使用false.

/**
 * Check "Use Default Value" checkboxes values
 */
if ($useDefaults = $this->getRequest()->getPost('use_default')) {
    foreach ($useDefaults as $attributeCode) {
        $product->setData($attributeCode, false);
    }
}
Run Code Online (Sandbox Code Playgroud)

以下代码尝试使用相同的方法将商店3中产品1的"name"属性设置为"use default values".

require_once '../app/Mage.php';
Mage::app(3);

$product = Mage::getModel('catalog/product')->load(1);

$product->setData('name', false); # as used in ProductController.php
$product->save();
Run Code Online (Sandbox Code Playgroud)

运用

$product->setData('name', 'anything');
Run Code Online (Sandbox Code Playgroud)

正确地将'name'属性设置为'anything'但false不会将其设置为'use default value'

"使用默认值"不存储在数据库的任何位置,因此在管理界面的控制器中必须有另一个删除属性行的过程?

相关链接 - > http://pastebin.com/raw.php?i=j7fwu9H6 (不允许发布链接)

magento mage magento-1.6

6
推荐指数
1
解决办法
2万
查看次数

如何更改magento admin url和port,magento运行清漆

我在服务器上安装了使用magento的清漆.

端口已更改,以便清漆现在在端口80上运行,magento在8080上运行,

有些功能在后端不起作用,因为网址是www.mystore.com/admin

但实际上商店的网址是www.mystore.com:8080/admin

任何人都可以帮我改变后端端口.

不起作用的功能是打印装箱单,我在其前端的javascript中更改端口.但是有很多功能所以我需要的不仅仅是快速修复

谢谢

php zend-framework magento mage e-commerce

6
推荐指数
2
解决办法
5464
查看次数

Magento:列出单个属性的所有值

我正在尝试列出magento 1.7.0.2中新创建的属性的所有现有值.(并使它们成为可点击的链接,以便在点击时它们列出具有特定属性值的所有项目,但这不是现在的优先级)

属性代码是"艺术家"

到目前为止,我使用以下代码在app/code/core/Mage/Catalog/Block /中创建了Artist.php文件:

public function getAllArtists()
{
$product = Mage::getModel('catalog/product');
$attributes = Mage::getResourceModel('eav/entity_attribute_collection')
    ->setEntityTypeFilter($product->getResource()->getTypeId())
    ->addFieldToFilter('attribute_code', 'artist');
$attribute = $attributes->getFirstItem()->setEntity($product->getResource());
$artists = $attribute->getSource()->getAllOptions(false);
  return $artists;  
}
Run Code Online (Sandbox Code Playgroud)

以及此代码中的/ app/design/frontend/default/template-name/template/catalog/product中的文件artist.phtml:

 <ul id="artist_list">
  <?php foreach ($this->getAllArtists() as $artist): ?> 
  <li><a href="<?php Mage::getURL() ?>catalogsearch/advanced/result/?&artist;[]=<?php echo $artist['value'] ?>&search;="><?php echo $artist['label'] ?></a></li>
  <?php endforeach; ?>
 </ul>
Run Code Online (Sandbox Code Playgroud)

然后我在一个静态块中调用

{{block type="core/template" template="catalog/product/artist.phtml"}}
Run Code Online (Sandbox Code Playgroud)

但没有出现......

我使用了这个帖子的代码:http://www.magentocommerce.com/boards/viewthread/19982/P0/

该属性设置为"在前端的产品视图页面上可见",我调用../template/product/view.phtml中每个项目的属性值

<?php echo $_product->getData('artist') ?> 
Run Code Online (Sandbox Code Playgroud)

并正确显示该值.

有任何想法吗?

attributes magento mage

6
推荐指数
1
解决办法
2万
查看次数

使用mage.exe重新启动Clickonce清单

简单的场景.Visual Studio生成并签署事物作为发布过程的一部分.

然后我转到该MyApp.dll.config.deploy文件并更新一些设置.

现在,当我尝试安装应用程序时,clickonce安装程序说它MyApp.dll.config具有与清单中指定的不同的计算哈希值.

所以我尝试了mage.exe -sign MyApplicationManifest -certfile ... -password ...哪个结果MyApp.vsto successfully signed

但我仍然收到计算的哈希错误.我错过了一步吗?

我已阅读以下链接:http: //msdn.microsoft.com/en-us/library/acz3y3te( v = vs1010).aspx http://blogs.msdn.com/b/msiclickonce/archive/ 2009/07/17 /的ClickOnce -应用-失败-后变化的配置文件和-辞职最manifest.aspx

clickonce mage

6
推荐指数
2
解决办法
7543
查看次数

使用mage.exe自动执行扩展验证(EV)代码签名

我尝试使用存储在金雅拓HSM中的EV证书签署WPF ClickOnce应用程序。我已经配置了持续部署(CD),并且我希望在没有用户交互的情况下自动签名,就像以前的PFX文件一样。

通过文章“ 自动扩展验证(EV)代码签名”和Austin Morton的回答,我使它可以通过signtool.exe进行签名而无需输入密码。但是我的问题是:

如何在mage.exe的帮助下签署清单?是否也可以像使用signtool一样传输令牌密码?还是有其他可能进行这项工作?

wpf clickonce mage continuous-deployment signtool

6
推荐指数
1
解决办法
202
查看次数

如何使用 mage.exe 为 VSTO 重新签名清单?

我们有一个 Excel 插件作为我们 Visual Studio 解决方案的一部分。该插件构建一次,然后作为我们 CI/CD 流程的一部分部署到不同的环境(dev、uat、prod)。

在部署期间,我们应用应用程序配置转换以使用正确的环境配置更新 Excel 插件配置。

因此,清单和 VSTO 需要辞职。我已经通过了一些SO职位(使用mage.exe创建*文件指向.deploy一个ClickOnce部署清单辞职清单点击一次应用程序的变化,从4.0到4.5的辞职的ClickOnce舱单使用mage.exe等)和 MSDN 发布并且无法找到正确的方法来调用mage.exe它。

我已经尝试过mage.exe -update ...mage.exe -sign ...以及一些其他组合,当我尝试启动 VSTO 时,这些组合都会导致代理或无效清单,例如

C:\Tools\mage.exe -update "$CodeBasePath\MyCompany.vsto" -certFile "$CertFile" -password "$CertPassword" -appManifest "$AppManifestPath"
Run Code Online (Sandbox Code Playgroud)

mage.exe在重新签署 VSTO 时,是否知道正确的签名顺序和要使用的标志?

c# clickonce mage

5
推荐指数
1
解决办法
1432
查看次数