I am attempting to merge a Visual Studio 2010 project to 2012. The 2010 solution had a deployment project which output can be replicated by publishing in 2012. Our build script looking something like this:

&lt;target name="buildSolution"&gt;
    &lt;delete file="${BuildRootFolder}\build.log" /&gt;
    &lt;exec program="devenv.exe" verbose="true" timeout="2400000"
        commandline='/out build.log ${BuildRootFolder}\Solution.sln /Build "Release" /deploy Solution'
        basedir="C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE"&gt;
        &lt;environment&gt;
            &lt;variable name="PATH"
            value="blah blah...."&gt;
        &lt;/environment&gt;
    &lt;/exec&gt;    
&lt;/target&gt;


How do I update this to Publish one of the projects in that solution using the publishing profile I defined? 


Question: Apps are not permitted to access the UDID
Answer: UDID is deprecated, and it's use is no longer allowed, you must use UUID.

It has drawbacks and benefits compared with UDID.

- (NSString *)uuidString {
// Returns a UUID

    CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
    NSString *uuidStr = (__bridge_transfer NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid);


    return uuidStr;
}



UDID always returned a unique and consistent ID. UUID whilst unique will return different every time. You need to store in user defaults or whereever and only generate if it's not already there.