I just downloaded and installed the most recent version of Chirpy [Nude Chirpy v1.0.0.5.3]
I created a "mash.less.chirp.config" file in my CSS directory, and it's compressing/minifying very spectacularly!!!
<root>
<FileGroup Name="site.css">
<File Path="elements.css" />
<File Path="jquery-ui-1.8.4.custom.css" />
<File Path="site.less" />
<File Path="wmd.css" />
</FileGroup>
</root>
I also created a "mash.chirp.config" file in my Script directory, unfortunately it's not doing anything at all.
<root>
<FileGroup Name="site.js">
<File path="jquery-ui-1.8.4.custom.min.js" Minify="false" />
<File path="un-master.js" />
<File path="jquery-ui-timepicker-addon.min.js" Minify="false" />
<File path="jquery-nmcFormHelper.js" />
<File path="jquery.textarearesizer.min.js" Minify="false" />
<File path="jquery-openid.js" />
<File path="jquery.timeago.js" />
</FileGroup>
</root>
any help/direction on this will be greatly appreciated.
[ADDED INFO]
I'm using Visual Studio 2010 Professional
I've got an ASP.NET MVC3 Project
Folder Structure...
ROOT/Assets/Scripts/mash.chirp.config
ROOT/Assets/Scripts/[all_my_js_files].js
Capitalize the p in path, brah!
I changed my config to the following, and it seems to be working
<?xml version="1.0" encoding="utf-8" ?>
<root xmlns="urn:ChirpyConfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ChirpyConfig http://www.weirdlover.com/chirpy/chirp.xsd">
<FileGroup Name="site.js">
<File Path="jquery-ui-1.8.4.custom.min.js" Minify="false" />
<File Path="un-master.js" />
<File Path="jquery-ui-timepicker-addon.min.js" Minify="false" />
<File Path="jquery-nmcFormHelper.js" />
<File Path="jquery.textarearesizer.min.js" Minify="false" />
<File Path="jquery-openid.js" />
<File Path="jquery.timeago.js" />
</FileGroup>
</root>
Evidently it's case sensitive Path instead of path.
Related
Currently, I am writing an Ant Script that removes the signatures of signed Jar files.
Removing the signature for a single jar file was successful using the script below.
<project name="unsign">
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="ant-lib/ant-contrib-0.6.jar" />
<property name="jarPath" location="C:\Users\Administrator\Desktop\tempDir" />
<property name="resultPath" location="C:\Users\Administrator\Desktop\tempDir-result" />
<target name="unsignJar">
<unsignjar jarFile="${jarPath}/com.google.guava_15.0.0.v201403281430.jar" />
</target>
<macrodef name="unsignjar" description="Unsign a jar file">
<attribute name="jarfile" description="Jar file to unsign " />
<sequential>
<copy toFile="#{jarFile}_MANIFEST.tmp">
<resources>
<zipentry zipfile="#{jarFile}" name="META-INF/MANIFEST.MF" />
</resources>
</copy>
<replaceregexp file="#{jarFile}_MANIFEST.tmp" match="\nName:(.+?)\nSH" replace="SH" flags="gis" byline="false" />
<replaceregexp file="#{jarFile}_MANIFEST.tmp" match="SHA(.*)" replace="" flags="gis" byline="false" />
<jar jarfile="#{jarFile}.tmp" manifest="#{jarFile}_MANIFEST.tmp">
<zipfileset src="#{jarFile}">
<include name="**" />
<exclude name="META-INF/*.SF" />
<exclude name="META-INF/*.DSA" />
<exclude name="META-INF/*.RSA" />
</zipfileset>
</jar>
<!-- Removing the temporary manifest -->
<delete file="#{jarFile}_MANIFEST.tmp" />
<!-- Swapping the original Jar file with the temporary one -->
<move file="#{jarFile}.tmp" tofile="#{jarFile}" overwrite="true" />
</sequential>
</macrodef>
</project>
When I run a command "ionic cordova build android", i have error like this:
* What went wrong:
Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'ammar_5d767'
I have already try this steps however still not working.
here is my config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="ammar-5d767" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Doc.in</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi#ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
<content src="index.html" />
<access origin="*" />
<platform name="android">
<resource-file src="google-services.json" target="app/google-services.json" />
.
.
.
<allow-intent href="market:*" />
.
.
.
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
.
.
.
</platform>
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^3.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<plugin name="cordova-plugin-firebase" spec="2.0.5" />
<engine name="android" spec="7.1.4" />
</widget>
i found some solutions but still not working.
Your Googleservice.json file is missing from the project folder which can be found in firebase console.
I am using WiX 3.10. for a website that is used in IE only. (.net 2.0)
We recently had a few users complaining about the disturbed layout, because their browser's compatibility setting.
One way of fixing this, seems to be adding a HTTP Response Header (Name: X-UA-Compatible, Value: IE=EmulateIE7) in the IIS
Can I do this somehow from the Product.WXS, so after installation, this would be set?
Thank you
Here is the sample code to setup a website and the HTTP Response header using WiX.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension">
<Product Id="*" Name="IISTest" Language="1033" Version="1.0.0.0" Manufacturer="Microsoft" UpgradeCode="9670352d-2b30-446e-b17f-a31a7d08d917">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="IISTest" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentGroupRef Id="MyWebsiteIISConfiguration" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<!-- Will reference to C:\inetpub-->
<Directory Id="INETPUB" Name="Inetpub">
<Directory Id="WwwRoot" Name="WWWRoot">
<!-- Will reference to c:\Inetpub\wwwroot\MyWebSite-->
<Directory Id="INSTALLFOLDER" Name="MyWebSite" />
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<DirectoryRef Id="INSTALLFOLDER">
<Component Id="MyInstallWebsite" Guid="1253DBFC-D959-470E-A044-7DDABFFC1298" KeyPath="yes">
<!-- Install to default web site -->
<iis:WebSite Id="MyWebsiteWebsite" Description='MY Website' Directory='INSTALLFOLDER' AutoStart='yes' StartOnInstall='yes'>
<iis:HttpHeader Id="header_id" Name="X-UA-Compatible" Value="IE=EmulateIE7"/>
<iis:WebAddress Id="AllUnassigned" Port="80" />
<iis:WebApplication Id="MyWebsiteApplication" Name="[MyWebsiteWebsite][WEBSITE_ID]" WebAppPool="MyWebsiteAppPool">
</iis:WebApplication>
</iis:WebSite>
</Component>
<Component Id="MyWebsiteAppPool" Guid="" KeyPath="yes">
<iis:WebAppPool Id="MyWebsiteAppPool"
Name="MyWebsiteAppPool"
Identity="applicationPoolIdentity"
ManagedPipelineMode="Integrated"
ManagedRuntimeVersion="v4.0" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="ProductComponent" Guid="{6F44232F-1C0B-4278-AB2B-BFD34FAE863C}">
<File Id="favicon.ico" Source="favicon.ico" />
</Component>
</ComponentGroup>
<ComponentGroup Id="MyWebsiteIISConfiguration">
<ComponentRef Id="MyInstallWebsite" />
<ComponentRef Id="MyWebsiteAppPool" />
</ComponentGroup>
</Fragment>
</Wix>
The HttpHeader element lets you specify arbitrary headers.
I am using SlowCheetah to transform my Log4Net files when I publish. However, it can't seem to distinguish between the attributes in different appender sections.
My Log4Net.config looks basically like this:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="DevEmail" />
<from value="DevEmail" />
<subject value="Dev Warning" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="Time: %date%newlineHost: %property{log4net:HostName}%newlineClass: %logger%newlineUser: %property{user}%newlineMessage: %message%newline%newline%newline" />
</layout>
<threshold value="WARN" />
</appender>
<appender name="FatalSmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="DevEmail" />
<from value="DevEmail" />
<subject value="Dev Fatal" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="Time: %date%newlineHost: %property{log4net:HostName}%newlineClass: %logger%newlineUser: %property{user}%newlineMessage: %message%newline%newline%newline" />
</layout>
<threshold value="FATAL" />
</appender>
</log4net>
And my transform file looks like this:
<?xml version="1.0" encoding="utf-8" ?>
<log4net xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="ProductionEmail" xdt:Transform="SetAttributes" />
<from value="ProductionEmail" xdt:Transform="SetAttributes" />
<subject value="Production Warning" xdt:Transform="SetAttributes" />
</appender>
<appender name="FatalSmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="ProductionEmail" xdt:Transform="SetAttributes" />
<from value="ProductionEmail" xdt:Transform="SetAttributes" />
<subject value="Production Fatal" xdt:Transform="SetAttributes" />
</appender>
</log4net>
The problem is that the transformed config has the same subject attribute value for both appenders; I guess when it hits the SetAttributes it can't tell which tag it's looking for, so it transforms all of them. What it the correct syntax to tell it to only find the elements within the same appender? I assume I need to use the xdt:Locator attribute, but I can't do Match(name) like I do for web.config because these elements don't have a name attribute. The appender element has a name attribute, but I don't know how to tell it to match based on the parent element's name.
I know that I could use replace on the appender node, with the match(Name), but then I would be replacing the entire node, including a bunch of elements such as the layout which I don't want to be transformed (and thus have multiple copy-pastes of the same code, which I would like to avoid).
I found the answer in this MSDN article: http://msdn.microsoft.com/en-us/library/dd465326.aspx.
I needed to use xdt:Locator="Match(name)" on the parent <appender> node, and then xdt:Transform on the child nodes. I had tried this previously but had used xdt:locator="Match(name)" instead of xdt:Locator="Match(name)"... The attribute is case sensitive.
Just starting with WiX (at version 3.8), we're surprised that it doesn't seem at all straightforward to deploy a website with WiX. Not yet concerned about any infrastructure aspects like IIS or custom actions to tailor the setup, or even whether we precompile the site, just would be happy to deploy a trivial website to a folder. But the only file that ever gets deployed is a single dll (whose name appears to be derived from the AssemblyName property configured in the csproj).
After some googling, we tried setting Harvest=True on the project reference, and adding <EnableProjectHarvesting>True</EnableProjectHarvesting> to the wixproj file. But only that same dll ever gets deployed. (Orca shows it to be the only file in the MSI file table.)
Adding the following to the wixproj succeeds in getting Heat, Candle and Light to process a set of files from a hard-coded folder, but does not succeed in deploying anything else: still only the one dll is included in the MSI file table.
<Target Name="BeforeBuild">
<!-- try hardcoded path -->
<HeatDirectory
ToolPath="$(WixToolPath)"
OutputFile="%(ProjectReference.Filename).wxs"
Directory="C:\Dev\2010\HelloWixWebApplication\HelloWixWebApplication"
GenerateGuidsNow="true"
DirectoryRefId="TARGETDIR"
/>
<!-- some properties that Candle will use, so we should be able to to tell it to look in this folder for the .wks -->
<PropertyGroup>
<!--IncludeSearchPaths>.</IncludeSearchPaths -->
<CompilerAdditionalOptions>%(ProjectReference.Filename).wxs</CompilerAdditionalOptions>
<!--and one for Light: -->
<LinkerAdditionalOptions>obj\Debug\%(ProjectReference.Filename).wixobj</LinkerAdditionalOptions>
</PropertyGroup>
</Target>
Returning to the main question, and the thing that would really help but we can't seem to find: an actual example of deploying a simple asp.net website using WiX. Anyone? TIA.
In reply to Rob Mensching's question, the additional .wxs file that gets generated from this config is shown below. (Ignore the mis-spelled HellowWix.. which I corrected elsewhere.)
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="TARGETDIR">
<Directory Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997" Name="HellowWixWebApplication" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dir6DED4C9E136E741825339CEA6DE213D8">
<Component Id="cmp04A9076B920B178A9BB40ABB0D0C5785" Guid="{C6AA8596-0107-4360-85B1-503CC6F319FA}">
<File Id="fil021D16CABEED58F6659FD4103DD68AC4" KeyPath="yes" Source="SourceDir\bin\HellowWixWebApplication.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmp19A9163AE8A7925CB6C4247D145B22B6" Guid="{D7B85294-12DF-4784-B6DA-BF7AEBA475C9}">
<File Id="fil24F0BD7A232604DB4D8E369EFDB7AB28" KeyPath="yes" Source="SourceDir\Web.Release.config" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmp22213FE3CD8C99A9A7563D7AFD66052E" Guid="{99E59BF6-640B-4E35-B4D8-671927AF9BD3}">
<File Id="fil4AA1682891BEFAA2AB3CB1ABCBE9C155" KeyPath="yes" Source="SourceDir\HellowWixWebApplication.csproj" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmp277C2DBCB4DB3C289C46A9784423A2C1" Guid="{7DF707B0-55BF-4899-805C-97A1A2081528}">
<File Id="filE62AD3DD98C8055C24348922079D0E2E" KeyPath="yes" Source="SourceDir\Default.aspx.designer.cs" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmp2E90B366B07FD51B623E7CF089E2932D" Guid="{17914BB7-5A02-499B-AC0C-F1F9FCB6019F}">
<File Id="filC05278F3F8EB3611EB1EBB30F6EA4AFB" KeyPath="yes" Source="SourceDir\Web.config" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmp3025675392247E7856146E4D28076668" Guid="{2905F7E7-536B-44E5-8C10-45A954CE9E86}">
<File Id="fil8EB5092298D94AE4C4677473CAAFC0E0" KeyPath="yes" Source="SourceDir\Web.Debug.config" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dir6E0901CF23FF0CE2677DE6B8BBA3B8BD">
<Component Id="cmp7C99050A7370BF342937DF8E86BA1863" Guid="{5DF80AF2-1459-43CD-A649-90AB1F2C57AE}">
<File Id="filB73CA61225E396C5CD26B29E8FAA7AFE" KeyPath="yes" Source="SourceDir\obj\Debug\HellowWixWebApplication.pdb" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dir4F5CB8DBC18741F08CCFF2B59DDE3481">
<Component Id="cmp976F1DA49CEA0FDDB2D0EA8C756C7DCF" Guid="{1069A669-F349-427F-B01A-64E942AFED2F}">
<File Id="fil21676E8D65B4C460832839007C43343E" KeyPath="yes" Source="SourceDir\Properties\AssemblyInfo.cs" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmpA0C26A291B35A1F7C8F75C76C408C355" Guid="{51AE16C4-A743-4EFA-8678-064A6550F228}">
<File Id="fil9A7337716828B5F0F975E4B424B18285" KeyPath="yes" Source="SourceDir\Default.aspx.cs" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dir6E0901CF23FF0CE2677DE6B8BBA3B8BD">
<Component Id="cmpAA37E12AC25051F1FB98359B5654CBB6" Guid="{4D81902A-9F6C-47D8-95AF-ED1D7062771C}">
<File Id="fil053D1EA59D1DC9708FA9DF93DCE32BF2" KeyPath="yes" Source="SourceDir\obj\Debug\HellowWixWebApplication.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dir6E0901CF23FF0CE2677DE6B8BBA3B8BD">
<Component Id="cmpAB40655D2EEBFE8E7DA2D5C008705F7A" Guid="{01C5537C-257D-4472-BB27-778DDB5E2CEA}">
<File Id="fil1B67F0463CE8AA35030E31A3E3BFA82D" KeyPath="yes" Source="SourceDir\obj\Debug\HellowWixWebApplication.csproj.FileListAbsolute.txt" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dir6E0901CF23FF0CE2677DE6B8BBA3B8BD">
<Component Id="cmpD72354FE851F86AF61BFD2B884E05B34" Guid="{230F8CC1-9DF3-4B44-B6C8-617090329C82}">
<File Id="filBF0022433A84B60F69F4ECF6724E4BA3" KeyPath="yes" Source="SourceDir\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmpEA2E4AE70EBEAF6FCFC294661CE9EF29" Guid="{ADE9B8A8-F4CC-4CE7-845F-5C526A9E6149}">
<File Id="fil76F4E5B6801E021CFE962F5C33DEA62F" KeyPath="yes" Source="SourceDir\Default.aspx" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Component Id="cmpEC68C3F57C9E201E67744CC0DA54E083" Guid="{42F553F5-90B1-4190-A6BC-1DD41928F151}">
<File Id="fil4B42859DA454D34945962FBFB3BFB0C1" KeyPath="yes" Source="SourceDir\HellowWixWebApplication.csproj.user" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Directory Id="dir4F5CB8DBC18741F08CCFF2B59DDE3481" Name="Properties" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Directory Id="dir6DED4C9E136E741825339CEA6DE213D8" Name="bin" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirAD6B115F080FDBD956168CB7C622647C">
<Directory Id="dir6E0901CF23FF0CE2677DE6B8BBA3B8BD" Name="Debug" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirE7F2BE36CFADC3ED9ACCB1F42198C997">
<Directory Id="dirAD6B115F080FDBD956168CB7C622647C" Name="obj" />
</DirectoryRef>
</Fragment>
</Wix>
To include the generated files they need to be within a component which is then included in a feature.
Easiest way for you to do this is to modify the HeatDirectory element changing it to:
<HeatDirectory
ToolPath="$(WixToolPath)"
OutputFile="%(ProjectReference.Filename).wxs"
Directory="C:\Dev\2010\HelloWixWebApplication\HelloWixWebApplication"
GenerateGuidsNow="true"
DirectoryRefId="TARGETDIR"
ComponentGroupName="ContentFiles"
SuppressFragments="true" />
adding the ComponentGroupName and SupressFragments parameters. Then include that component in your feature by using the <ComponentGroupRef Id="ContentFiles" /> element.
I usually also add the SuppressUniqueIds attribute so it is a bit nicer to read.
Personally I prefer to then take that generated wxs and include it directly in my project and update when new files are included. That way it is exactly how I want it. The other option is to use a xslt transform to strip out the stuff you don't need like the csproj etc. and supply in the Transform attribute.
There is now a Visual Studio extension VDProj to WiX Converter which can be downloaded from the Tools menu, Extensions and Updates. There is also another WIX-related extension there, which is a designer for creating and manipulating Wix setup projects: