Red Gate forums :: View topic - Feature Request: /LARGEADDRESSAWARE and Authenticode Support
Return to www.red-gate.com RSS Feed Available

Search  | Usergroups |  Profile |  Messages |  Log in  Register 
Go to product documentation
SmartAssembly 6
SmartAssembly 6 forum

Feature Request: /LARGEADDRESSAWARE and Authenticode Support

Search in SmartAssembly 6 forum
Post new topic   Reply to topic
Jump to:  
Author Message
martincostello



Joined: 13 Sep 2011
Posts: 14
Location: London, UK

PostPosted: Thu Jun 07, 2012 9:13 am    Post subject: Feature Request: /LARGEADDRESSAWARE and Authenticode Support Reply with quote

As part of our build process using TFS/MSBuild, we Authenticode sign all binaries we produce and for some of our executables we apply the /LARGEADDRESSAWARE flag using editbin.exe.

As these flags/Authenticode signing need to be applied before binaries are compiled into WiX installers and/or copied to _PublishedWebsites, we need to perform these steps on the intermediate output @(IntermediateAssembly).

However, for assemblies that use SmartAssembly, $(TargetPath) has to be used as otherwise the dependencies are not present for SmartAssembly to process and SmartAssembly fails. This means that the order of these steps has to be carefully arranged to stop SmartAssembly "undoing" /LARGEADDRESSAWARE and Authenticode.

This has lead to a rather compilicated set of MSBuild targets and dependencies being created on our build machines to ensure that all three "modifications" to our assemblies can co-exist validly.

This would be much easier to maintain if:

a) SmartAssembly honours and keeps the /LARGEADDRESSAWARE (and other similar PE flags such as HighEntropyVA coming with Windows 8) when regenerating the assembly.

b) Has the ability to Authenticode sign the output automatically after SmartAssembly runs i.e. we can specify the parameters to run against signtool.exe and SmartAssembly will run it after processing the assembly.

c) The MSBuild task for SmartAssembly allows a dependency "hint path" to be specified so that we can point SmartAssembly to @(IntermediateAssembly) for processing, but it can find the dependencies in $(TargetDir) if not in the same directory as @(IntermediateAssembly).

Regards,
Martin
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic All times are GMT + 1 Hour
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group