我有一个配置文件,需要在每个服务器的基础上更改,以便一旦服务器安装了我们的软件,客户端安装程序的配置文件设置为匹配该服务器的特定设置,然后复制到公共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并修改它们以适应,然后重新签名文件.此外,我现在面临的问题是还无法确定如何向部署添加图标,因此"开始"菜单项会获得除通用图标之外的图标.
我一直看到对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成功解释?
用这行代码调用什么类(如果有的话)?
Mage::getResourceModel('sales/order_invoice_collection')
Run Code Online (Sandbox Code Playgroud)
本质上,我试图找出使用此资源模型访问的数据库表以及如何调整它.谢谢!
之前已多次询问此问题,但没有正常工作的答案.
我有多个商店,一些属性已被覆盖.我想用脚本将这些属性更改为"使用默认值".
这是一个显示商店视图和'使用默认值'复选框 的图像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的清漆.
端口已更改,以便清漆现在在端口80上运行,magento在8080上运行,
有些功能在后端不起作用,因为网址是www.mystore.com/admin
但实际上商店的网址是www.mystore.com:8080/admin
任何人都可以帮我改变后端端口.
不起作用的功能是打印装箱单,我在其前端的javascript中更改端口.但是有很多功能所以我需要的不仅仅是快速修复
谢谢
我正在尝试列出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)
并正确显示该值.
有任何想法吗?
简单的场景.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
我尝试使用存储在金雅拓HSM中的EV证书签署WPF ClickOnce应用程序。我已经配置了持续部署(CD),并且我希望在没有用户交互的情况下自动签名,就像以前的PFX文件一样。
通过文章“ 自动扩展验证(EV)代码签名”和Austin Morton的回答,我使它可以通过signtool.exe进行签名而无需输入密码。但是我的问题是:
如何在mage.exe的帮助下签署清单?是否也可以像使用signtool一样传输令牌密码?还是有其他可能进行这项工作?
我们有一个 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 时,是否知道正确的签名顺序和要使用的标志?
mage ×10
clickonce ×6
magento ×4
php ×2
.net ×1
attributes ×1
c# ×1
command-line ×1
database ×1
deployment ×1
e-commerce ×1
magento-1.6 ×1
powershell ×1
signtool ×1
wpf ×1